WHERE(option1 || option2 || ...)LIKE'%key%'

时间:2012-09-18 05:06:14

标签: mysql sql syntax

我想使用LIKE进行查询。

我不知道这个

的正确语法是什么
WHERE ( (option1 || option2 || option3) LIKE '%key%' ) AND field = 'option4')

任何人都可以帮我解决这个问题吗?

我需要进行查询WHERE option1或option2或option3与键

相似

在LIKE条件之后,我需要另一个WHERE哪个字段= option4

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

3 个答案:

答案 0 :(得分:3)

你需要这样的东西:

where (option1 like '%key%' or option2 like '%key%' or option3 like '%key%')
  and field = 'option4'

答案 1 :(得分:0)

查看Manual (Pattern matching)Like Operator 并查看this answer,它通常是Like运算符的工作原理。

答案 2 :(得分:0)

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

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

INDEX(field)

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

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