PlusMagi's Blog By Pitt Phunsanit

เครื่องหมายไม้ยมก ( ๆ )

เครื่องหมายไม้ลามก เฮ้ย ไม้ยมก ( ๆ ) เป็นอีกเครื่องหมายที่ชอบใช้กันผิด ๆ บ่อยมากเป็นอันดับต้น ๆ เลยใช้สำหรับซ้ำคำ วลี หรือประโยค เพื่อเปลี่ยนความหมายหรือเน้นความหมายให้ชัดเจนขึ้น โดยมีหลักเกณฑ์สำคัญที่มักจะใช้ผิดกันบ่อย ดังนี้ครับ


📝 หลักการใช้เครื่องหมายไม้ยมก ( ๆ ) ตามราชบัณฑิตยสภา


การเว้นวรรคที่ถูกต้อง

ตามหลักเกณฑ์ของราชบัณฑิตยสภา การเขียนไม้ยมกที่ถูกต้อง จะต้องเว้นวรรคทั้งข้างหน้าและข้างหลังเครื่องหมาย เสมอ


คำที่ไม่สามารถใช้ไม้ยมกซ้ำได้

มีคำบางประเภทที่ออกเสียงซ้ำกัน แต่ไม่สามารถใช้ไม้ยมกซ้ำได้ เนื่องจากเป็นคนละคำ หรือเป็นคำเฉพาะ เช่น


🛠️ การจัดการและแก้ไขข้อมูลให้ถูกต้องด้วย 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

  1. ฟังก์ชันนี้จะใส่เว้นวรรคหลังไม้ยมกเสมอ หากเครื่องหมาย ๆ อยู่ท้ายประโยคหรือท้ายฟิลด์ อาจจะทำให้มี Space งอกปิดท้าย แนะนำให้ครอบด้วย TRIM() อีกชั้นหนึ่ง
  2. อย่าลืม 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) ในอนาคตมีความแม่นยำมากขึ้นอีกด้วยครับ


อ่านเพิ่มเติม

Exit mobile version