一尘不染

SQL SELECT WHERE字段包含单词

sql

我需要一个选择,它会返回如下结果:

SELECT * FROM MyTable WHERE Column1 CONTAINS 'word1 word2 word3'

我需要所有结果,即这包括带有’word2 word3 word1’或’word1 word3 word2’或三者的任何其他组合的字符串。

所有单词都必须包含在结果中。


阅读 197

收藏
2021-05-05

共1个答案

一尘不染

相当慢,但是可以包括 任何 单词的工作方法:

SELECT * FROM mytable
WHERE column1 LIKE '%word1%'
   OR column1 LIKE '%word2%'
   OR column1 LIKE '%word3%'

如果您需要 所有 单词出现,请使用以下命令:

SELECT * FROM mytable
WHERE column1 LIKE '%word1%'
  AND column1 LIKE '%word2%'
  AND column1 LIKE '%word3%'

如果您想要更快的速度,则需要研究全文搜索,这对于每种数据库类型都是非常特定的。

2021-05-05