标签: mysql
我有一个12个字符代码的InnoDB数据库表,通常需要由用户输入。 有时,用户将错误地输入代码(例如,键入小写L而不是1等)。 我正在尝试编写一个查询,它会找到与他们输入的代码类似的代码,但使用LIKE'%code%'会给我太多结果,其中很多只包含一个匹配的字符。
有没有办法进行更详细的检查?
编辑 - 不需要区分大小写。
任何建议表示赞赏。
感谢。
答案 0 :(得分:-1)
看看soundex。通常拼写错误的字符串具有相同的soundex代码,因此您可以查询:
soundex
where soundex(Code) like soundex(UserInput)
答案 1 :(得分:-1)
在没有通配符%的情况下使用
%
SELECT `code` FROM table where code LIKE 'user_input'
这也将检查空间
SELECT 'a' = 'a ', return 1 whereas SELCET 'a' LIKE 'a ' return 0
reference