如何有效地使用 MySQL LIKE 运算符来处理多个值?
Jan 06, 2025 am 12:18 AM对多个值使用 MySQL Like 运算符
问题:
MySQL 查询尝试使用 LIKE 运算符来匹配包含“sports”或“pub”的值不会产生所需的结果结果。
查询:
SELECT * FROM table WHERE interests LIKE ('%sports%', '%pub%')
登录后复制
预期行为:
查询应返回“感兴趣”的行字段包含“sports”或“pub”或
解释:
出现此问题的原因是具有多个模式的 LIKE 运算符需要 OR 条件。提供的查询尝试使用两个连续的 LIKE 运算符,而没有正确的 OR 逻辑,从而导致不正确的匹配。
解决方案 1:OR 条件
更简单的解决方案是使用OR 运算符指定多个匹配条件:
SELECT * FROM table WHERE interests LIKE '%sports%' OR interests LIKE '%pub%'
登录后复制
解决方案 2:REGEXP运算符
另一种方法是使用 REGEXP(正则表达式)运算符,它支持使用单个表达式进行模式匹配:
SELECT * FROM table WHERE interests REGEXP 'sports|pub'
登录后复制
此表达式使用 | (管道) 字符指定两个关键字之间的逻辑 OR,从而生成与“sports”或“pub”或两者匹配的单个模式。
请注意,REGEXP 运算符对于匹配多个模式更有效与使用 LIKE 和 OR 条件相比。
以上是如何有效地使用 MySQL LIKE 运算符来处理多个值?的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
击败分裂小说需要多长时间?
3 周前
By DDD
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前
By 尊渡假赌尊渡假赌尊渡假赌
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林

热门文章
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
击败分裂小说需要多长时间?
3 周前
By DDD
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前
By 尊渡假赌尊渡假赌尊渡假赌
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林

热门文章标签

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

在 Linux 中运行 MySQl(有/没有带有 phpmyadmin 的 podman 容器)
