【问题标题】:How to search in a mysql database the fields that contains the letters from a string如何在 mysql 数据库中搜索包含字符串中字母的字段
【发布时间】: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

标签: php mysql


【解决方案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

    您可以使用SOUNDEXSOUNDS LIKE,但这很昂贵,可能不是您想要的。如果您使用 PHP,也许您可​​以返回所有行并使用 levestien(sp) shift 进行解析?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-25
      • 1970-01-01
      • 2019-07-08
      • 2014-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-10
      相关资源
      最近更新 更多