如何缩短多个LIKE

时间:2015-03-30 19:09:51

标签: mysql sql sql-like

我的查询:

SELECT *
FROM tbl
WHERE (
  col LIKE '%this%' AND 
  col LIKE '%that%' AND 
  col LIKE '%something else%'
)

我搜索的字符串不是可预测的顺序。

有没有办法在没有所有LIKE行的情况下写这个?

1 个答案:

答案 0 :(得分:3)

而不是:

WHERE col LIKE '%this%' AND col LIKE '%that%' AND col like '%something else%'

您可以尝试以更快的方式:

WHERE col REGEXP 'this|that|somethingelse'

但请注意,这只适用于有特定模式的情况,否则我不认为可以缩短。

修改: -

正如您的更新问题所说,如果您搜索的字符串不是可预测的顺序,那么我不认为有任何方法可以缩短您的LIKE语句。您必须以与现在使用它相同的方式使用它。