日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL截取查询结果中固定字段之间的内容

發布時間:2023/12/31 数据库 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL截取查询结果中固定字段之间的内容 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在做數據查詢時,字段存了冗余的內容,希望查詢結果只需要客戶填寫的中文數據,數據展示如下

idcustom_content
10000{“customField4”:“墻面修繕維修”}
10001{“customField4”:“墻面、隔斷、水池、地磚修繕裝修”}
10002{“customField4”:“施工方應具備室內裝修設計及施工的專業能力,預先與我方共同制定裝修方案后施工;所有裝修用料均需環保無污染,符合國家相關標準要求;施工標準均應符合國家相關標準及規定;施工期間做好室內設備的保護,施工完畢須將實訓室內衛生全面清理干凈;施工方須按我方要求,在規定時”}
10003{“customField4”:“施工方應具備室內裝修設計及施工的專業能力,預先與我方共同制定裝修方案后施工;所有裝修用料均需環保無污染,符合國家相關標準要求;施工標準均應符合國家相關標準及規定;施工期間做好室內設備的保護,施工完畢須將實訓室內衛生全面清理干凈;施工方須按我方要求,在規定時”}

期望結果是將上述表格中的中文結果查詢出來
MySQL的截取函數有MID,SUBSTR,SUBSTRING,LEFET,RIGHT
我們采用mid方式來做截取,分析數據規律前17位,后2為數據是多余的,但中間的位數是不確定。
而mid(str,a,b)函數是截取str從a為開始,到a+b位,在本次查詢時,b是不確定的,以10000為例,b應該是6。

SELECT MID(custom_content,18,6) FROM table_name idMID(custom_content,18,6)
10000墻面修繕維修
10001墻面、隔斷、
10002施工方應具備
10003施工方應具備

如上結果其他不滿足,因此采用POSITION函數來確定b的位數,匹配后面的雙引號的位置

SELECT id, POSITION('"}' in custom_content) FROM table_name idPOSITION(’"}’ in custom_content)
1000024
1000133
10002146
10003146

采用如上兩個函數,因為起始是從18位開始的,要給雙引號的位置減去18,結合起來就得到如下的結果

SELECT id,MID(custom_content,18,POSITION('"}' in custom_content)-18) from table_name idMID(custom_content,18,POSITION(’"}’ in custom_content)-18)
10000墻面修繕維修
10001墻面、隔斷、水池、地磚修繕裝修
10002施工方應具備室內裝修設計及施工的專業能力,預先與我方共同制定裝修方案后施工;所有裝修用料均需環保無污染,符合國家相關標準要求;施工標準均應符合國家相關標準及規定;施工期間做好室內設備的保護,施工完畢須將實訓室內衛生全面清理干凈;施工方須按我方要求,在規定時
10003施工方應具備室內裝修設計及施工的專業能力,預先與我方共同制定裝修方案后施工;所有裝修用料均需環保無污染,符合國家相關標準要求;施工標準均應符合國家相關標準及規定;施工期間做好室內設備的保護,施工完畢須將實訓室內衛生全面清理干凈;施工方須按我方要求,在規定時

聽說有正則的函數REGEXP快速實現,查了一下貌似只能用于條件使用,跟like差不多,大家有其他更方便的辦法,歡迎評論。
該方法存在不足的地方是,沒辦法像正則表達式一樣提取兩個字符中間的字符串般自由

總結

以上是生活随笔為你收集整理的SQL截取查询结果中固定字段之间的内容的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。