似乎无法使用LIKE运算符查找有关特定SQL形式的文档。使用MySQL,使用LIKE运算符对多个单词的典型查询可能如下所示:
SELECT * from table AS t WHERE t.col LIKE '%word1%' AND t.col LIKE '%word2%'
虽然以下语句也有效,但返回的行将根据查询中单词的顺序而有所不同。例如:
SELECT * from table WHERE col LIKE '%word1%' '%word2%'
在没有AND布尔值的情况下执行,但结果与:
不同SELECT * from table WHERE col LIKE '%word2%' '%word1%'
我的问题是,在使用这种查询形式而不是使用boolean时实际发生了什么?
答案 0 :(得分:7)
来自the manual:
彼此相邻的引号字符串连接成一个字符串 串。以下几行是等效的:
'a string'
'a' ' ' 'string'
所以,正在发生的事情是'%word1%' '%word2%'
被解释为'%word1 %% word2%'