它简短而简单。
我正在使用此查询:
SELECT * FROM TABLE_NAME WHERE COL_NAME IN('%VALUE1%', '%VALUE2%')
然而,它似乎不起作用,我使用LIKE将两个值组合使用OR
并返回结果,因此我确定有行在表中有这些值..我在这里错过了什么吗?
MYSQL IN()
函数是否接受百分号?什么是正确的方法?
提前致谢!
答案 0 :(得分:2)
您可以尝试使用RLIKE
:
SELECT * FROM TABLE_NAME WHERE COL_NAME RLIKE 'VALUE[12]'
请记住,这些类型的查询往往执行得非常糟糕,因为它们需要全表扫描。如果您经常这样做,可能需要调整架构以更好地表示您的使用模式。
答案 1 :(得分:1)
SELECT * FROM TABLE_NAME WHERE COL_NAME LIKE '%VALUE1%' OR COL_NAME LIKE '%VALUE2%'