Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธีใช้ฟังก์ชัน SOUNDEX() ร่วมกับ LIKE ใน MySQL เพื่อค้นหาข้อมูล


ฟังก์ชัน SOUNDEX() ใช้คืนค่า Soundex code ซึ่งเป็นอัลกอริทึมเสียงสำหรับจัดทำดัชนีชื่อตามการออกเสียงภาษาอังกฤษ ตัวอย่างด้านล่างใช้ข้อมูลจากตาราง student_info และนำ SOUNDEX() มาใช้กับ LIKE เพื่อค้นหาแถวเฉพาะ:

mysql> Select * from Student_info;
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
|  101 | YashPal | Amritsar   | History    |
|  105 | Gaurav  | Chandigarh | Literature |
|  125 | Raman   | Shimla     | Computers  |
+------+---------+------------+------------+
3 rows in set (0.00 sec)

mysql> Select * from student_info where SOUNDEX(Name) LIKE '%G%';
+------+--------+------------+------------+
| id   | Name   | Address    | Subject    |
+------+--------+------------+------------+
|  105 | Gaurav | Chandigarh | Literature |
+------+--------+------------+------------+
1 row in set (0.00 sec)

เราใช้ชื่อคอลัมน์เป็นอาร์กิวเมนต์ของ SOUNDEX() และมันคืนแถวที่มีค่า SOUNDEX ตรงกับ LIKE %G%

คุณสมบัติสำคัญของ SOUNDEX()

ผลลัพธ์ของ SOUNDEX() จะมีตัวอักษรแรกของสตริงที่ส่งเข้าไปเสมอ เช่น:

mysql> Select SOUNDEX('Ram');
+----------------+
| SOUNDEX('Ram') |
+----------------+
| R500           |
+----------------+
1 row in set (0.00 sec)

mysql> Select SOUNDEX('ram');
+----------------+
| SOUNDEX('ram') |
+----------------+
| R500           |
+----------------+
1 row in set (0.00 sec)

หมายเหตุ: SOUNDEX ไม่คำนึงถึงตัวพิมพ์เล็ก/ใหญ่ และรหัสจะเริ่มต้นด้วยตัวอักษรแรกของคำเสมอ