【发布时间】:2016-11-26 03:00:19
【问题描述】:
我有一个查询将短语拆分为单词并显示结果:
SELECT (...) WHERE 'name' LIKE '%word1%' AND 'name' LIKE '%word2%' ... etc
我的问题是,当我输入“word1 word2”时,结果与“word2 word1”不同。
这是为什么呢?是什么原因造成的,如何解决?
【问题讨论】:
-
把表名和列名的引号换成反引号
我有一个查询将短语拆分为单词并显示结果:
SELECT (...) WHERE 'name' LIKE '%word1%' AND 'name' LIKE '%word2%' ... etc
我的问题是,当我输入“word1 word2”时,结果与“word2 word1”不同。
这是为什么呢?是什么原因造成的,如何解决?
【问题讨论】:
使用或条件
SELECT (...) WHERE 'name' LIKE '%word1%' or'name' LIKE '%word2%' ... etc
【讨论】:
将单引号 ' 改为反引号并使用 OR 运算符
SELECT (...) WHERE `name` LIKE '%word1%' OR `name` LIKE '%word2%' ... etc
【讨论】:
OR 运算符和反引号
OR 运算符
为什么要在同一列中有 2 个单词时将它们分开?
使用这个:
SELECT (...) WHERE 'name' LIKE '%word1%word2%' OR 'name' LIKE '%word2%word1%' ... etc
【讨论】: