兴国资源网 Design By www.nnzcdc.com
前言
备注:测试数据库版本为MySQL 8.0
测试数据:
create table zqs(id int,str varchar(1000)); insert into zqs(id,str) values (1,'【京东】abc【中国电信】'); insert into zqs(id,str) values (1,'【京东】abc【中国电信】def'); insert into zqs(id,str) values (1,'****【京东】abc【中国电信】def'); insert into zqs(id,str) values (1,'****【京东】abc'); insert into zqs(id,str) values (1,'【京东】abc【中国电信】【中国联通】');
一.需求
经常遇到短信类似的需求,需要提取短信的标记信息,但是可能会存在多个短信标记
此例假设最多有3个标签,需要输出如下:
mysql> select * from zqs; ±-----±----------------------------------------------------+ | id | str | ±-----±----------------------------------------------------+ | 1 | 【京东】abc【中国电信】 | | 1 | 【京东】abc【中国电信】def | | 1 | ****【京东】abc【中国电信】def | | 1 | ****【京东】abc | | 1 | 【京东】abc【中国电信】【中国联通】 | ±-----±----------------------------------------------------+
要求输出如下:
±-------------±-------------------±-------------------+ | first_val | first_va2 | first_va3 | ±-------------±-------------------±-------------------+ | 【京东】 | 【中国电信】 | | | 【京东】 | 【中国电信】 | | | 【京东】 | 【中国电信】 | | | 【京东】 | | | | 【京东】 | 【中国电信】 | 【中国联通】 | ±-------------±-------------------±-------------------+
二.解决方案
Oracle 字符串截取函数 substr和instr配合使用即可,但是MySQL的instr函数是弱于Oracle的instr函数。
此时需要借助MySQL的正则表达式 regexp_instr函数以及substr函数配合
select substr(str, regexp_instr(str,'【',1,1), regexp_instr(str,'】',1,1) - regexp_instr(str,'【',1,1) + 1 ) first_val, substr(str, regexp_instr(str,'【',1,2), regexp_instr(str,'】',1,2) - regexp_instr(str,'【',1,2) + 1) first_va2, substr(str, regexp_instr(str,'【',1,3), regexp_instr(str,'】',1,3) - regexp_instr(str,'【',1,3) + 1) first_va3 from zqs;
测试记录:
mysql> select substr(str, -> regexp_instr(str,'【',1,1), -> regexp_instr(str,'】',1,1) - regexp_instr(str,'【',1,1) + 1 ) first_val, -> substr(str, -> regexp_instr(str,'【',1,2), -> regexp_instr(str,'】',1,2) - regexp_instr(str,'【',1,2) + 1) first_va2, -> substr(str, -> regexp_instr(str,'【',1,3), -> regexp_instr(str,'】',1,3) - regexp_instr(str,'【',1,3) + 1) first_va3 -> from zqs; +--------------+--------------------+--------------------+ | first_val | first_va2 | first_va3 | +--------------+--------------------+--------------------+ | 【京东】 | 【中国电信】 | | | 【京东】 | 【中国电信】 | | | 【京东】 | 【中国电信】 | | | 【京东】 | | | | 【京东】 | 【中国电信】 | 【中国联通】 | +--------------+--------------------+--------------------+ 5 rows in set (0.00 sec)
总结
兴国资源网 Design By www.nnzcdc.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
兴国资源网 Design By www.nnzcdc.com
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
2024年07月04日
2024年07月04日
- 中国音乐地图之听见江苏昆曲经典唱段2020[WAV+分轨]
- 《路易吉鬼屋2HD》GS 7分:适合掌机模式短时间游玩
- 《路易吉鬼屋2HD》M站均分77:出色3DS游戏的升级版
- 不输官方!玩家设计《光环》等主题Switch Pro手柄
- 王识贤.2010-伤心手指【华特】【WAV+CUE】
- 尚雯婕.2009-时代女性Time.Lady【华谊兄弟】【FLAC+CUE】
- 萧亚轩.2006-1087【华纳】【WAV+CUE】
- 徐佳莹《无损音乐合集》2009-2023[FLAC/分轨][2.3GB]
- 群星《那些年的男神,那些年的女神》2CD[WAV+CUE][1.4GB]
- 张学友《2023头版蜚声环球合集》32CD[WAV+CUE][15.7G]
- 绝区零珂蕾妲关键天赋是什么 珂蕾妲天赋效果解析
- 绝区零珂蕾妲音擎武器怎么选 珂蕾妲音擎选择推荐
- 绝区零护盾鸣徽有哪些 绝区零护盾鸣徽效果介绍
- 爱浪音响测试碟-《经典传说》2CD[DTS-WAV]
- 群星《情歌1号-2号(紫银合金)4CD》[WAV+CUE]