ฟังก์ชัน SOUNDEX()
SOUNDEX() ใช้สร้างรหัสเสียง (Phonetic code) สำหรับเปรียบเทียบคำที่ออกเสียงคล้ายกัน ตามการออกเสียงภาษาอังกฤษ
Syntax
SOUNDEX(str)
str = สตริงที่ต้องการหาค่า Soundex
ตัวอย่าง
mysql> SELECT SOUNDEX('MySQL');
+------------------+
| SOUNDEX('MySQL') |
+------------------+
| M240 |
+------------------+
mysql> SELECT SOUNDEX('harshit');
+--------------------+
| SOUNDEX('harshit') |
+--------------------+
| H623 |
+--------------------+
mysql> SELECT SOUNDEX('hrst');
+-----------------+
| SOUNDEX('hrst') |
+-----------------+
| H623 |
+-----------------+
การประยุกต์ใช้
'harshit' และ 'hrst' ให้ค่า Soundex เดียวกัน (H623) เพราะออกเสียงคล้ายกัน
ใช้ในการค้นหาชื่อที่สะกดผิดแต่ออกเสียงเหมือนกัน เช่น:
SELECT * FROM users WHERE SOUNDEX(name) = SOUNDEX('Smith');
-- จะหาได้ทั้ง Smith, Smyth, Smythe
ข้อจำกัด
- ทำงานได้ดีกับภาษาอังกฤษ
- ไม่เหมาะกับภาษาไทยหรือภาษาที่ไม่ใช่ Latin script
- อาจให้ผลลัพธ์ผิดพลาดกับคำสั้นหรือคำที่ออกเสียงต่างกันมาก