sql 包含某个字符_「17」MySQL中正则表达式查询的SQL语句集锦

MySQL作为关系型数据库的一种,起支持SQL进行数据库的增删改查操作是其必备功能之一!

SQL的查询功能中,碰到需要检索或替换那些符合某个模式的文本内容是最常见的应用场景,此时就需要用到正则表达式根据指定的匹配模式匹配文本中符合要求的特殊的字符。

f9e949af25c3dc896484fee6821b0043.png

我们可以先假设下面几个场景:

  1. 从一个文本中提取电话号码;
  2. 从一大串字符中查找重复字符;
  3. 进行文章审核时对敏感词进行替换操作。

【0】数据准备

  • 建表:
4ce71f7b5db03c317cd2ef7e19ece41b.png
  • 造数据
09ddd9a23f08e48d52b18ae3f9eb98da.png

【1】^:匹配文本的开始字符

960a72506c6e676e5c252dcae23294ba.png

【结论】以字母“l”开头的记录都能查询出来。

【2】$:匹配文本的结束字符

98460e9f731ca437b616099097e0f711.png

【结论】以字母“r”结尾的记录都能查询出来。

【3】.:匹配任意一个字符

0361b0b034a831cba3090785df0acd6a.png

【结论】两个字母之间必须要存在另外一个字符才能符合匹配条件。

【4】*:匹配任意多个字符

996e239515eae344a1845930f77080c0.png

【结论】包含匹配条件中罗列出的某个字母的记录都被认为是符合的。

【5】+:匹配其前面字符至少一次

29b24da32971d23a1057e73569f19fb5.png

【结论】可以实现多个字母的匹配。

【6】包含某个或几个字符

fef69644d0cf9d44ee53e4b13604d058.png

【结论】使用LIKE则要结合%才能生效。

【7】[]:匹配字符集中任何一个字符

9431c3f76f035791f76c9c898a8e9466.png

【结论】返回[]中所有字母的记录。

【8】[^]:匹配不包含在指定集合中的任何字符

1abd01aa401aee3acb1cdbdf5d5bbe64.png

【结论】对于ID值为1至5的记录都被剔除。

【9】指定匹配次数:{n,}或{n,m}

f1d41d230551c70f34110843a166f02f.png

【结论】指定的字母必须连续出现,{n,m}中的m才生效。

64d9f92514f006c5adef3d7aa1d9b4ad.png

总结

MySQL支持的正则表达式有:

bca7f298d4e29396a466838151512e49.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值