使用soundex()
在MySql中搜索的正确结构是什么?我知道如何制作soundex():
select soundex('str');
只是不确定如何在我的查询中包含它。
答案 0 :(得分:4)
如果您正在针对name
表的people
字段搜索“lewis”,请执行以下查询:
SELECT *
FROM people
WHERE soundex("lewis") = soundex(name);
答案 1 :(得分: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
答案 2 :(得分:0)
很明显,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 ')), '%')
这种“ kinda”有效