什么是正确的SQL语句,以便当我搜索两个单词时,例如文本框中的“文本字段”,它将使用LIKE语句返回其中包含“text”和“field”的所有结果?我找不到合适的条款来进行搜索。如果可能的话,我想让它变得动态。就像用户搜索5个单词一样,所有5个单词都在Like语句中。我正在努力实现这样的声明。
SELECT *
FROM TABLE
WHERE SEARCH (LIKE %searchterm1%)
OR (LIKE %searchterm2%)
OR (LIKE %searchterm3%) ....
答案 0 :(得分:0)
试试这个。 http://dev.mysql.com/doc/refman/5.1/en/regexp.html#operator_regexp
SELECT *
FROM TABLE
WHERE SEARCH
REGEXP 'searchterm1|searchterm2|searchterm3'
答案 1 :(得分:0)
这是使用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','%')
只会返回col
列中包含所有字符串'cdef'
,'hijk'
和'mnop'
的值的行。
您特别询问了LIKE
比较运算符。还有一个匹配正则表达式的REGEXP
运算符。全文搜索功能可能非常适合您的使用案例。