mysql regexp匹配多个字符串实现
更新时间:2024年09月18日 11:23:40 作者:涛哥是个大帅比
本文主要介绍了mysql regexp匹配多个字符串实现,可以利用REGEXP正则表达式匹配多个字符串,从而实现高效查询,具有一定的参考价值,感兴趣的可以了解一下
项目场景:
数据结构
其中nameArr存储的是名字集合,现在的需求是传入"aaa","fff",需要把包含这两个name的数据都查出来。
解决方案:
可以使用
REGEXP
来匹配包含多个特定ID的字符串。使用以下正则表达式:
select * from test where nameArr regexp '"aaa"|"fff"'
使用mybatis实现
mapper
/** * 正则匹配多个id字符串 */ List<TestEntity> list(@Param("ids") List<String> ids);
xml
<select id="list" resultType="com.test.TestEntity"> select * from test <if test="ids != null and ids.size()>0"> and nameArr regexp concat('"', concat_ws('"|"', <foreach collection="ids" item="item" separator=","> #{item} </foreach> ),'"') </if> </select>
解析一下这个sql
ids这个集合会循环逗号拼接,打印sql
select * from test where nameArr regexp concat('"',concat_ws('"|"','aaa','fff'),'"')
最终的sql
select * from test where nameArr regexp '"aaa"|"fff"'
到此这篇关于mysql regexp匹配多个字符串实现的文章就介绍到这了,更多相关mysql regexp匹配多个字符串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
MySQL 在创建和删除用户时出现的ERROR 1396 (HY000)错误问题解决
MySQL作为流行的数据库系统,涉及用户管理时可能遇到ERROR1396错误,该错误发生在尝试创建已存在的用户或删除不存在的用户时,解决方法包括检查用户存在性或选择不同用户名,此外,MySQL提供了创建和授权用户的便捷工具,注意使用FLUSH PRIVILEGES命令使授权生效2024-09-09mysql 8.0.15 winx64压缩包安装配置方法图文教程
这篇文章主要为大家详细介绍了mysql 8.0.15 winx64压缩包安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2019-05-05MySQL 序列 AUTO_INCREMENT详解及实例代码
这篇文章主要介绍了MySQL 序列 AUTO_INCREMENT详解及实例代码的相关资料,需要的朋友可以参考下2017-02-02
最新评论