类似MySQL的语句-多个单词
什么是正确的SQL语句,这样当我搜索两个单词时,例如文本框中的“text field”,它将使用like语句返回所有包含“text”和“field”的结果?我找不到合适的术语进行搜索。如果可能的话,我想让它充满活力。就像用户搜索5个单词一样,所有5个单词都会出现在Like语句中。我正试图实现这样一种说法类似MySQL的语句-多个单词,mysql,Mysql,什么是正确的SQL语句,这样当我搜索两个单词时,例如文本框中的“text field”,它将使用like语句返回所有包含“text”和“field”的结果?我找不到合适的术语进行搜索。如果可能的话,我想让它充满活力。就像用户搜索5个单词一样,所有5个单词都会出现在Like语句中。我正试图实现这样一种说法 SELECT * FROM TABLE WHERE SEARCH (LIKE %searchterm1%) OR (LIKE %searchterm2%) OR (LIKE %searc
SELECT *
FROM TABLE
WHERE SEARCH (LIKE %searchterm1%)
OR (LIKE %searchterm2%)
OR (LIKE %searchterm3%) ....
试试这个
下面是一个使用LIKE比较运算符的SQL SELECT语句示例
SELECT t.*
FROM mytable t
WHERE t.col LIKE CONCAT('%','cdef','%')
AND t.col LIKE CONCAT('%','hijk','%')
AND t.col LIKE CONCAT('%','mnop','%')
只有在列中包含所有字符串'cdef'
、'hijk'
和'mnop'
的值的行才会返回
您特别询问了LIKE
比较运算符。还有一个与正则表达式匹配的REGEXP
操作符。而且全文搜索功能可能非常适合您的用例。您需要全文搜索。谷歌。请看一看我认为使用regexp来管理这些问题会更容易
SELECT t.*
FROM mytable t
WHERE t.col LIKE CONCAT('%','cdef','%')
AND t.col LIKE CONCAT('%','hijk','%')
AND t.col LIKE CONCAT('%','mnop','%')