SQL截取查询结果中固定字段之间的内容
在做數(shù)據(jù)查詢時(shí),字段存了冗余的內(nèi)容,希望查詢結(jié)果只需要客戶填寫(xiě)的中文數(shù)據(jù),數(shù)據(jù)展示如下
| 10000 | {“customField4”:“墻面修繕維修”} |
| 10001 | {“customField4”:“墻面、隔斷、水池、地磚修繕裝修”} |
| 10002 | {“customField4”:“施工方應(yīng)具備室內(nèi)裝修設(shè)計(jì)及施工的專(zhuān)業(yè)能力,預(yù)先與我方共同制定裝修方案后施工;所有裝修用料均需環(huán)保無(wú)污染,符合國(guó)家相關(guān)標(biāo)準(zhǔn)要求;施工標(biāo)準(zhǔn)均應(yīng)符合國(guó)家相關(guān)標(biāo)準(zhǔn)及規(guī)定;施工期間做好室內(nèi)設(shè)備的保護(hù),施工完畢須將實(shí)訓(xùn)室內(nèi)衛(wèi)生全面清理干凈;施工方須按我方要求,在規(guī)定時(shí)”} |
| 10003 | {“customField4”:“施工方應(yīng)具備室內(nèi)裝修設(shè)計(jì)及施工的專(zhuān)業(yè)能力,預(yù)先與我方共同制定裝修方案后施工;所有裝修用料均需環(huán)保無(wú)污染,符合國(guó)家相關(guān)標(biāo)準(zhǔn)要求;施工標(biāo)準(zhǔn)均應(yīng)符合國(guó)家相關(guān)標(biāo)準(zhǔn)及規(guī)定;施工期間做好室內(nèi)設(shè)備的保護(hù),施工完畢須將實(shí)訓(xùn)室內(nèi)衛(wèi)生全面清理干凈;施工方須按我方要求,在規(guī)定時(shí)”} |
期望結(jié)果是將上述表格中的中文結(jié)果查詢出來(lái)
MySQL的截取函數(shù)有MID,SUBSTR,SUBSTRING,LEFET,RIGHT
我們采用mid方式來(lái)做截取,分析數(shù)據(jù)規(guī)律前17位,后2為數(shù)據(jù)是多余的,但中間的位數(shù)是不確定。
而mid(str,a,b)函數(shù)是截取str從a為開(kāi)始,到a+b位,在本次查詢時(shí),b是不確定的,以10000為例,b應(yīng)該是6。
| 10000 | 墻面修繕維修 |
| 10001 | 墻面、隔斷、 |
| 10002 | 施工方應(yīng)具備 |
| 10003 | 施工方應(yīng)具備 |
如上結(jié)果其他不滿足,因此采用POSITION函數(shù)來(lái)確定b的位數(shù),匹配后面的雙引號(hào)的位置
SELECT id, POSITION('"}' in custom_content) FROM table_name| 10000 | 24 |
| 10001 | 33 |
| 10002 | 146 |
| 10003 | 146 |
采用如上兩個(gè)函數(shù),因?yàn)槠鹗际菑?8位開(kāi)始的,要給雙引號(hào)的位置減去18,結(jié)合起來(lái)就得到如下的結(jié)果
SELECT id,MID(custom_content,18,POSITION('"}' in custom_content)-18) from table_name| 10000 | 墻面修繕維修 |
| 10001 | 墻面、隔斷、水池、地磚修繕裝修 |
| 10002 | 施工方應(yīng)具備室內(nèi)裝修設(shè)計(jì)及施工的專(zhuān)業(yè)能力,預(yù)先與我方共同制定裝修方案后施工;所有裝修用料均需環(huán)保無(wú)污染,符合國(guó)家相關(guān)標(biāo)準(zhǔn)要求;施工標(biāo)準(zhǔn)均應(yīng)符合國(guó)家相關(guān)標(biāo)準(zhǔn)及規(guī)定;施工期間做好室內(nèi)設(shè)備的保護(hù),施工完畢須將實(shí)訓(xùn)室內(nèi)衛(wèi)生全面清理干凈;施工方須按我方要求,在規(guī)定時(shí) |
| 10003 | 施工方應(yīng)具備室內(nèi)裝修設(shè)計(jì)及施工的專(zhuān)業(yè)能力,預(yù)先與我方共同制定裝修方案后施工;所有裝修用料均需環(huán)保無(wú)污染,符合國(guó)家相關(guān)標(biāo)準(zhǔn)要求;施工標(biāo)準(zhǔn)均應(yīng)符合國(guó)家相關(guān)標(biāo)準(zhǔn)及規(guī)定;施工期間做好室內(nèi)設(shè)備的保護(hù),施工完畢須將實(shí)訓(xùn)室內(nèi)衛(wèi)生全面清理干凈;施工方須按我方要求,在規(guī)定時(shí) |
聽(tīng)說(shuō)有正則的函數(shù)REGEXP快速實(shí)現(xiàn),查了一下貌似只能用于條件使用,跟like差不多,大家有其他更方便的辦法,歡迎評(píng)論。
該方法存在不足的地方是,沒(méi)辦法像正則表達(dá)式一樣提取兩個(gè)字符中間的字符串般自由
總結(jié)
以上是生活随笔為你收集整理的SQL截取查询结果中固定字段之间的内容的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Windows XP SP3 无需密匙即
- 下一篇: 软件质量测试的书pdf,软件质量检测.p