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

标签 php mysql sql

它简短而简单。

我正在使用此查询:

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/

相关文章:

php - 来自 3 个一对多表的嵌套 JSON

mysql - 我一定要使用 SUM() 进行条件聚合吗?

php - 引用不同实体的建模用户帐户

php - mysql:将 2 个表与 2 个不同的字段链接起来

php - 合并多行中的一列

php - 如何使用 API 添加条目到 mysql 数据库?

php - 如果第一行不为空,如何将值插入到第二行?数据库

php - 有没有办法让codeIgniter输出html而不是xhtml?

mysql - 包含 8000 万条记录并添加索引的表需要超过 18 小时(或永远)!怎么办?

mysql - 提高 varchar 字段和应用于另一个字段的子字符串之间的联接性能