在mysql中使用LIKE运算符

时间:2010-06-25 11:12:52

标签: mysql

当我提供公司名称时,我想从我的公司表中搜索公司...这里使用的是运营商

例如:saravana商店

它给出结果saravana存储texttiles,saravana商店thanga maligai等(其中包含saravana stroes ...使用LIKE运算符)

现在我的问题是当我在公司名称中提供 lcd投影仪时,还想获取仅包含投影仪字的记录...但是像运算符一样用'液晶投影仪'给出了结果

我明白了吗?

3 个答案:

答案 0 :(得分:4)

尝试:

WHERE (name LIKE '%saravana%' OR name LIKE '%stores%')

这有两个缺点:

  • 它不能使用索引,所以它会很慢。
  • 它可以为您提供您不想要的匹配'最佳'匹配'%store%'。

您可能希望使用full text search代替。您还可以考虑外部引擎,例如Lucene

答案 1 :(得分:0)

如果您想进行适当的全文搜索,我强烈建议您尝试使用Lucene或Sphinx。 我知道这会有点复杂,但最终结果是值得的。

答案 2 :(得分:0)

Mark Byers是对的。
为了获得更高的效率 查询除以单词后,您可以修改搜索输入以获取单词库并统一搜索以获得smth lika:
WHERE (name LIKE '%sarava%' OR name LIKE '%stor%')