-4

我想使用 LIKE 进行查询。

我不知道什么是正确的语法

WHERE ( (option1 || option2 || option3) LIKE '%key%' ) AND field = 'option4')

谁能帮我解决这个问题?

我需要查询 WHERE option1 or option2 or option3 are LIKE with key

在那个 LIKE 条件之后,我需要另一个 WHERE which field = option4

注意:option1,2,3... 是字段

4

3 回答 3

3

你需要这样的东西:

where (option1 like '%key%' or option2 like '%key%' or option3 like '%key%')
  and field = 'option4'
于 2012-09-18T05:08:33.600 回答
0

查看Manual (Pattern matching)Like 运算符 并查看这个答案,它一般来说 Like 运算符是如何工作的。

于 2012-09-18T05:12:08.483 回答
0
WHERE CONCAT_WS(' ', option1, option2, option3) LIKE '%key%'
  AND field = 'option4'

可以是您喜欢的' '任何分隔符,并且可能应该避免任何可能导致错误读数的key.

INDEX(field)

可能是最好的索引。等上的索引option1是无用的。

CONCAT的可能比OR建议快一点。

于 2015-08-23T02:30:45.107 回答