如何将 MySQL SOUNDEX() 函数与 LIKE 运算符一起使用以从表中检索记录?


众所周知,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)

更新于:22-Jun-2020

248 次浏览

职业开启您的

完成课程认证

开始学习
广告
© . All rights reserved.