好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > MySQL如何從不固定位置提取字符串元素詳解

MySQL如何從不固定位置提取字符串元素詳解

熱門標簽:百應電話機器人優勢 外呼系統打電話上限是多少 曲靖移動外呼系統公司 地圖標注費用是多少 武漢網絡外呼系統服務商 怎樣在地圖標注銷售區域 南昌三維地圖標注 電話外呼系統改號 啥是企業400電話辦理

前言

備注:測試數據庫版本為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)

總結

到此這篇關于MySQL如何從不固定位置提取字符串元素的文章就介紹到這了,更多相關MySQL提取字符串元素內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:吉林 黑河 錦州 滄州 甘南 隨州 資陽 荊州

巨人網絡通訊聲明:本文標題《MySQL如何從不固定位置提取字符串元素詳解》,本文關鍵詞  MySQL,如何,從不,固定,位置,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL如何從不固定位置提取字符串元素詳解》相關的同類信息!
  • 本頁收集關于MySQL如何從不固定位置提取字符串元素詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 欧美啪啪试看120秒| 99久久精品久久久久网站大全 | 国产精品天干天干在线播放| 张丽大战3黑人40cm| 好男人精品视频社区| ??男生???男生??里| 我的中尉先生未增删免费观看动漫 | 96囗交大图片大全| 成人亚洲精品777777ww| 蜜桃视频一区二区三区四区a?v| 老司机aⅴ在线精品导航| 日日噜噜爽爽狠狠视频| 绑住双手玩弄她乳尖挠痒痒视频| 嫩草久久99www亚洲按摩| 久久ri精品高清一区二区三区| 八戒八戒www手机观看| jiZZjiZZ中国护士水好多| 美国A片巜禁忌2| 五月婷婷六月丁香激情| 91在线中文| 国产20岁china男同志免费 | 日日摸日日碰夜夜爽97玫瑰园| 中文字幕精品一区二区三区在线| 91人人视频| 迈开腿让我尝一下chbl| 97免费观看视频网站在线观看国产| 成人无码18??在线观看| 欧美系壮志凌云h版在线播放| 最新露脸国产精品视频| 嗯好湿用力的啊c进来动态图 | 免费国精产品无码看片| 欧美在线观看高清一二三区| 1男1女影院内视频泄露| 浪荡秘书伺候办公室h| 调教我的肉奴老师静怡小说| 国产精品丝袜无码专区| 大乳boobs巨大ww| 积积对积积的桶30分软件| 国产精品丝袜AV一区二区| 巨胸女仆服务在线电影| 男生鸡鸡插女生鸡鸡|