ค้นหาตามการออกเสียง (Phonetic Search)
expr1 SOUNDS LIKE expr2 เทียบเท่า SOUNDEX(expr1) = SOUNDEX(expr2)
Syntax
Expression1 SOUNDS LIKE Expression2
ตัวอย่าง
mysql> SELECT Id, Name, Address, Subject
FROM student
WHERE name SOUNDS LIKE 'garav';
+------+--------+---------+-----------+
| Id | Name | Address | Subject |
+------+--------+---------+-----------+
| 1 | Gaurav | Delhi | Computers |
| 20 | Gaurav | Jaipur | Computers |
+------+--------+---------+-----------+
การทำงาน
- 'garav' และ 'Gaurav' มี Soundex เดียวกัน
- ค้นหาได้แม้สะกดผิดเล็กน้อย
- ใช้ Soundex algorithm ภาษาอังกฤษ
ข้อจำกัด
- เฉพาะภาษาอังกฤษ
- ไม่เหมาะกับชื่อไทย
- อาจให้ False positive (คำที่ออกเสียงต่างกันแต่ Soundex เหมือน)
ตัวเลือกอื่น
SOUNDEX()function โดยตรง- Full-text search with ngram parser (MySQL 5.7.6+)
- Third-party: pg_trgm (PostgreSQL), Elasticsearch