MySQL LIKE 查询多个值
本文解决了在 MySQL 查询中使用 LIKE 运算符搜索多个值时遇到的常见问题。目标是查找特定字段至少包含一个指定值的行。
查询和示例数据
考虑以下 MySQL 查询:
SELECT * FROM table WHERE interests LIKE ('%sports%', '%pub%')
“兴趣”中包含以下示例数据字段:
sports,shopping,pool,pc,games shopping,pool,pc,games sports,pub,swimming, pool, pc, games
问题描述
上述查询无法按预期工作。它无法返回任何包含“sports”或“pub”的行。
解决方案:使用布尔运算符
一个简单的解决方案是使用布尔运算符,例如OR 指定多个值的条件:
WHERE interests LIKE '%sports%' OR interests LIKE '%pub%'
更有效的解决方案:使用REGEXP
MySQL 提供了一种更有效的方法来使用 REGEXP 运算符搜索多个值:
WHERE interests REGEXP 'sports|pub'
此解决方案使用 REGEXP 运算符来指定匹配行的正则表达式,其中“兴趣”字段包含“体育”或"pub."
资源
有关 MySQL 中 REGEXP 的更多信息,请参阅以下资源:
以上是如何高效地使用 MySQL 的 LIKE 运算符来处理多个值?的详细内容。更多信息请关注PHP中文网其他相关文章!