首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mysql之正则匹配

Mysql之正则匹配

作者头像
翎野君
发布2023-05-12 19:46:36
2K0
发布2023-05-12 19:46:36
举报
文章被收录于专栏:翎野君翎野君

Regex与Like的关系 Mysql中我们经常会用到正则表达式就是Like filed like '%?%' 。但是有时对于一些复杂场景下的正则过滤,单单一个like就显得有些力不从心了

Regex的精华就是 '' , like '%%' = regex '',特殊字符如^、$可以改变%的意思。

  • like '%304%' = regex '304'
  • like '张%' = regex '^张'
  • like '%03' = regex '03$'
  • like '%3%' or like '%4%' = regex '[34]' 一个字段包含3或者包含4
  • like '%3%' or like '%4%' = regex '3|4' 一个字段包含3或者包含4
# 示例SQL---
# '' 匹配fw_ver字段中包含'304'字符串的所有数据:
select * from tbl_upgrade_policy where fw_ver like '%304%';
select * from tbl_upgrade_policy where fw_ver REGEXP '304';

# ^ 匹配输入字符串的开始位置
# 查找operator字段已'张'开头的记录
select * from tbl_upgrade_policy where operator like '张%';
select * from tbl_upgrade_policy where operator regexp '^李';

# $ 匹配输入字符串的结束位置
# 查找operator字段已'03'结尾的记录
select * from tbl_upgrade_policy where operator like '%03';
select * from tbl_upgrade_policy where operator regexp '03$';

# [...] 字符集合,匹配所包含的任意一个字符。
# 查询出update_type字段下为3或4或5中的任意数字
select * from tbl_upgrade_policy where update_type like '%3%' or update_type like '%4%' or update_type like '%5%';
select * from tbl_upgrade_policy where update_type REGEXP '[345]';

# p1|p2|p3 匹配 p1 或 p2 或 p3。
select * from tbl_upgrade_policy where update_type like '%3%' or update_type like '%4%';
select * from tbl_upgrade_policy where update_type REGEXP '3|4';

select * from tbl_upgrade_policy where update_type like '3%' or update_type like '%5';

# 注意:'^[3,5]' 匹配以 3或,或5开头的记录
select * from tbl_upgrade_policy where update_type REGEXP '^[3,5]|4$';

# '^3,5' 匹配以 3,5 开头的记录
select * from tbl_upgrade_policy where update_type REGEXP '^3,5|2$';
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-02-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档