IN()函数不使用百分号返回结果

时间:2017-07-09 10:36:56

标签: php mysql sql

它简短而简单。

我正在使用此查询:

SELECT * FROM TABLE_NAME WHERE COL_NAME IN('%VALUE1%', '%VALUE2%') 

然而,它似乎不起作用,我使用LIKE将两个值组合使用OR并返回结果,因此我确定有行在表中有这些值..我在这里错过了什么吗?

MYSQL IN()函数是否接受百分号?什么是正确的方法?

提前致谢!

2 个答案:

答案 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%'