เครื่องหมายไม้ลามก เฮ้ย ไม้ยมก ( ๆ ) เป็นอีกเครื่องหมายที่ชอบใช้กันผิด ๆ บ่อยมากเป็นอันดับต้น ๆ เลยใช้สำหรับซ้ำคำ วลี หรือประโยค เพื่อเปลี่ยนความหมายหรือเน้นความหมายให้ชัดเจนขึ้น โดยมีหลักเกณฑ์สำคัญที่มักจะใช้ผิดกันบ่อย ดังนี้ครับ
📝 หลักการใช้เครื่องหมายไม้ยมก ( ๆ ) ตามราชบัณฑิตยสภา
การเว้นวรรคที่ถูกต้อง
ตามหลักเกณฑ์ของราชบัณฑิตยสภา การเขียนไม้ยมกที่ถูกต้อง จะต้องเว้นวรรคทั้งข้างหน้าและข้างหลังเครื่องหมาย เสมอ
- ❌ ผิด: ต่าง ๆ นานา, เด็ก ๆ กำลังเล่น
- ✅ ถูก: ต่าง ๆ นานา, เด็ก ๆ กำลังเล่น
คำที่ไม่สามารถใช้ไม้ยมกซ้ำได้
มีคำบางประเภทที่ออกเสียงซ้ำกัน แต่ไม่สามารถใช้ไม้ยมกซ้ำได้ เนื่องจากเป็นคนละคำ หรือเป็นคำเฉพาะ เช่น
- นานา: ต้องเขียน “นานา” เสมอ (เช่น ต่าง ๆ นานา) ห้ามเขียน “นานา”
- จะจะ: แปลว่า ชัดแจ้ง (เช่น เห็นกันจะจะ) ห้ามเขียน “จะ ๆ “
- คำคนละความหมาย: เช่น “คนคนนี้” (คนแรกเป็นคำนาม คนที่สองเป็นลักษณนาม) ห้ามเขียน “คน ๆ นี้”
🛠️ การจัดการและแก้ไขข้อมูลให้ถูกต้องด้วย MariaDB SQL
ในฐานข้อมูล (Database) มักจะพบข้อมูลที่พิมพ์ไม้ยมกติดกับคำ หรือเว้นวรรคไม่สม่ำเสมอ เราสามารถใช้ SQL ใน MariaDB เพื่อค้นหาและปรับปรุงข้อมูล (Data Cleansing) ให้ถูกต้องตามหลักราชบัณฑิตยสภาได้ด้วยฟังก์ชัน REGEXP_REPLACE ครับ
ค้นหาข้อมูลที่ใช้ไม้ยมกผิดรูปแบบ
หากต้องการดูว่ามี Data ไหนบ้างที่พิมพ์ไม้ยมกติดกับตัวอักษร (ไม่ยอมเว้นวรรคหน้าหรือหลัง) สามารถใช้ REGEXP ตรวจสอบได้
-- ค้นหาตัวอย่างข้อมูลที่ไม่มีเว้นวรรคหน้า หรือ ไม่มีเว้นวรรคหลังไม้ยมก
SELECT column_name FROM table_name WHERE column_name REGEXP '[^ ] ๆ ' OR column_name REGEXP ' ๆ [^ ]';
SQL สำหรับ Update ข้อมูลให้ถูกต้อง (Auto-Spacing)
เราสามารถใช้ REGEXP_REPLACE ในการจัดฟอร์แมตให้มีเว้นวรรค 1 ช่อง ทั้งหน้าและหลังไม้ยมกโดยอัตโนมัติ โดยครอบคลุมกรณีที่พิมพ์ติด หรือกรณีที่มีช่องว่างเกิน (Double Space) ให้เหลือช่องเดียวได้ดังนี้ครับ
UPDATE table_name
SET column_name = REGEXP_REPLACE( REGEXP_REPLACE(column_name, '[[:space:]]* ๆ [[:space:]]*', ' ๆ '), -- จัดการให้เป็น " ๆ " '[[:space:]]{2,}', ' ' -- ลดช่องว่างที่อาจจะเกินให้เหลือ 1 ช่อง
)
WHERE column_name REGEXP ' ๆ ';
⚠️ ข้อควรระวังก่อน Run
- ฟังก์ชันนี้จะใส่เว้นวรรคหลังไม้ยมกเสมอ หากเครื่องหมาย ๆ อยู่ท้ายประโยคหรือท้ายฟิลด์ อาจจะทำให้มี Space งอกปิดท้าย แนะนำให้ครอบด้วย
TRIM()อีกชั้นหนึ่ง - อย่าลืม Backup หรือทำ Snapshot ข้อมูลก่อนสั่ง
UPDATEเสมอ เพื่อความปลอดภัยครับ
เคสพิเศษ: แก้ไขคำว่า “นานา” ให้เป็น “นานา”
หากในระบบมีผู้ใช้งานพิมพ์ “นานา” (ใส่ไม้ยมก) เราต้องเปลี่ยนให้เป็น “นานา” ตามหลักภาษา
UPDATE table_name
SET column_name = REPLACE(column_name, 'นานา', 'นานา')
WHERE column_name LIKE '%นานา%'; UPDATE table_name
SET column_name = REPLACE(column_name, 'นานา', 'นานา')
WHERE column_name LIKE '%นานา%';
การทำ Data Cleansing ด้วยวิธีนี้นอกจากจะช่วยให้ข้อมูลในระบบของเราแสดงผลได้ถูกต้องสวยงามตามหลักภาษาไทยแล้ว ยังช่วยให้การทำ Full-Text Search หรือการตัดคำ (Tokenization) ในอนาคตมีความแม่นยำมากขึ้นอีกด้วยครับ
อ่านเพิ่มเติม