它简短而简单。
我正在使用此查询:
SELECT * FROM TABLE_NAME WHERE COL_NAME IN('%VALUE1%', '%VALUE2%')
但是它似乎不起作用,我对使用 OR
组合的两个值使用了 LIKE 并且它返回结果,所以我确信表中存在包含这些值的行。 .我在这里错过了什么吗?
MYSQL IN()
函数接受百分号吗?正确的做法是什么?
提前致谢!
最佳答案
您可以尝试使用 RLIKE
:
SELECT * FROM TABLE_NAME WHERE COL_NAME RLIKE 'VALUE[12]'
请记住,这些类型的查询往往性能非常糟糕,因为它们需要全表扫描。如果您经常这样做,您可能需要调整架构以更好地表示您的使用模式。
关于php - IN() 函数不使用百分号返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44995456/