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

วิธีใช้ฟังก์ชัน MySQL SOUNDEX () กับตัวดำเนินการ LIKE เพื่อดึงข้อมูลบันทึกจากตาราง


อย่างที่เราทราบดีว่าฟังก์ชัน SOUNDEX() ใช้เพื่อส่งคืน soundex ซึ่งเป็นอัลกอริทึมการออกเสียงสำหรับการจัดทำดัชนีชื่อหลังจากการออกเสียงเสียงภาษาอังกฤษ ซึ่งเป็นสตริงของสตริง ในตัวอย่างต่อไปนี้ เรากำลังนำข้อมูลจากตาราง '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() จะมีตัวอักษรตัวแรกของสตริงที่ส่งผ่านเป็นอาร์กิวเมนต์เสมอ ตัวอย่างเช่น หากเราจะส่ง 'Ram' เป็นอาร์กิวเมนต์ของฟังก์ชัน SOUNDEX() แล้วดูผลลัพธ์ จะมี 'R' เป็นอักขระตัวแรก −

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)