我想使用LIKE进行查询。
我不知道这个
的正确语法是什么WHERE ( (option1 || option2 || option3) LIKE '%key%' ) AND field = 'option4')
任何人都可以帮我解决这个问题吗?
我需要进行查询WHERE option1或option2或option3与键
相似在LIKE条件之后,我需要另一个WHERE哪个字段= option4
注意:option1,2,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
建议快一点。