2017-05-08 229 views
0

我正在寻找一个适当的SQL查询这将让我有以下几点:SQL SELECT查询(扩展)

  • 在数据库中,我有一个包含单词“税”
  • 如果我使用的查询文章SELECT * FROM 'table' WHERE content LIKE '%tax%'它会找到我的文章
  • 但是如果我搜索“进口税”,也不会发现什么

有什么是我忽略了什么可能还是回到我的文章即使有这样的“e xtended“搜索短语?

谢谢 伊万娜

+1

添加一些示例表数据和预期的结果 - 以及格式化文本。 – jarlh

+1

您的文章是否包含子字符串“进口税”?你确定这只是进口和税收之间的单一空间吗? –

+0

或隐藏的字符 – GurV

回答

0

你用我的SQL基于文本的搜索作为

SELECT * FROM `table` WHERE MATCH (content) AGAINST ('your_search_text' IN NATURAL LANGUAGE MODE); 

如果你想搜索多个值,您可以检查此在这里mysql full text search

0

,你可以使用正则表达式:

SELECT * 
FROM `table` 
WHERE content REGEXP 'import|tax' 

这将搜索同时具有“导入”和“税收”的内容。

我也建议你看看全文索引。但是,请小心,因为“税”有三个字符,可能不够长,无法使用默认设置将其转换为全文索引。

0

最简单的方法是使用另一个类似:

SELECT * FROM 'table' 
WHERE content LIKE '%tax%' AND content LIKE '%import%';