如何在 mysql 数据库中搜索包含字符串中字母的字段
Posted
技术标签:
【中文标题】如何在 mysql 数据库中搜索包含字符串中字母的字段【英文标题】:How to search in a mysql database the fields that contains the letters from a string 【发布时间】:2016-12-14 00:33:00 【问题描述】:我需要一点帮助。我想在数据库中搜索我传递的字母。例如,如果我输入单词“steve”,则查询必须查找包含字母“stve”的所有名称。我试过了:
"SELECT * FROM users WHERE name LIKE 'steve%' or name like '%steve' or name like '%steve%'";
但它并没有做我想要的,因为它会寻找模式。同样的情况发生在:
"SELECT * FROM users WHERE INSTR(`name`, 'steve') > 0";
请你帮帮我。
【问题讨论】:
要从单词中搜索单个字母,您应该使用正则表达式RLIKE
【参考方案1】:
可能是大小写问题??如果你使用下面的查询。
"SELECT * FROM users WHERE lower(name) LIKE 'steve%' or lower(name) like '%steve' or lower(name) like '%steve%'";
确保您的 steve 也是小写。
【讨论】:
【参考方案2】:看这里mysql search for right words | fixing spelling errors
您可以使用SOUNDEX
或SOUNDS LIKE
,但这很昂贵,可能不是您想要的。如果您使用 php,也许您可以返回所有行并使用 levestien(sp) shift 进行解析?
【讨论】:
以上是关于如何在 mysql 数据库中搜索包含字符串中字母的字段的主要内容,如果未能解决你的问题,请参考以下文章