5

在 MySql 中使用搜索的正确结构是什么soundex()?我知道如何生成 soundex():

select soundex('str');

只是不确定如何将其包含在我的查询中。

4

4 回答 4

6

name如果您要针对 table字段搜索“lewis” people,请执行以下查询:

SELECT *
FROM people
WHERE soundex("lewis") = soundex(name);

这里的例子

于 2015-04-13T05:17:54.653 回答
3

显然,soundex 不是为这样的部分设计的(例如SELECT SOUNDEX('house cleaning'), SOUNDEX('house'),它不匹配),但如果你想执行一个讨厌的SOUNDEX LIKE,你可以

SELECT * FROM tablename WHERE SOUNDEX(column) LIKE CONCAT(SOUNDEX('partial_string'), '%')

你也可以做

SELECT * FROM tablename WHERE SOUNDEX(column) LIKE CONCAT(TRIM(TRAILING '0' FROM SOUNDEX('hows ')), '%')

这个“有点”有效

于 2019-08-09T11:15:45.663 回答
1

这应该工作

select * from table_name where soundex(column_name) = soundex('word');

这是阅读这些内容的好地方:http ://www.postgresonline.com/journal/archives/158-Where-is-soundex-and-other-warm-and-fuzzy-string-things.html

于 2017-01-13T08:06:57.537 回答
0

MySQL 现在有一种本地方式来执行此操作!

您可以使用该语法SOUNDS LIKE进行相似性搜索。

SELECT * FROM table Where SOUNDEX(`field1`) = SOUNDEX(`field2`);

相当于:

SELECT * FROM table Where `field1` SOUNDS LIKE `field2`;
于 2021-11-03T22:33:38.733 回答