Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
类似MySQL的语句-多个单词_Mysql - Fatal编程技术网

类似MySQL的语句-多个单词

类似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

什么是正确的SQL语句,这样当我搜索两个单词时,例如文本框中的“text field”,它将使用like语句返回所有包含“text”和“field”的结果?我找不到合适的术语进行搜索。如果可能的话,我想让它充满活力。就像用户搜索5个单词一样,所有5个单词都会出现在Like语句中。我正试图实现这样一种说法

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','%')