1、將新建好的表aaaa,填充需要查詢的數(shù)據(jù)以"_"或者","為分隔符的兩條數(shù)據(jù)。
目前成都創(chuàng)新互聯(lián)公司已為上1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管運(yùn)營、企業(yè)網(wǎng)站設(shè)計、宿州網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
2、先挑ID為1的數(shù)據(jù)進(jìn)行截取查詢演示。
3、如果已知截取字符的長度和特殊字符位置,就可以用substring()函數(shù)來從字符串的開始位置,截取到特殊字符出現(xiàn)的位置。
4、使用charindex()函數(shù)來返回特殊字符出現(xiàn)的位置,查詢結(jié)果及語句。
5、使用LEFT()函數(shù)和charindex()函數(shù)來從字符最左邊開始到特殊字符出現(xiàn)的位置。
6、第一個參數(shù)表示被截取的字符串,第二個參數(shù)表示要在第一個參數(shù)中開始截取的位置,第三個參數(shù)表示要截取的長度。
如果Oracle版本不是太低的話,使用 正則表達(dá)式函數(shù) REGEXP_SUBSTR 處理。\x0d\x0a\x0d\x0a5個參數(shù)\x0d\x0a第一個是輸入的字符串\x0d\x0a第二個是正則表達(dá)式\x0d\x0a第三個是標(biāo)識從第幾個字符開始正則表達(dá)式匹配。(默認(rèn)為1)\x0d\x0a第四個是標(biāo)識第幾個匹配組。(默認(rèn)為1)\x0d\x0a第五個是是取值范圍:\x0d\x0ai:大小寫不敏感;\x0d\x0ac:大小寫敏感;\x0d\x0an:點(diǎn)號 . 不匹配換行符號;\x0d\x0am:多行模式;\x0d\x0ax:擴(kuò)展模式,忽略正則表達(dá)式中的空白字符。\x0d\x0a\x0d\x0aSQL SELECT\x0d\x0a 2 REGEXP_SUBSTR(a,'[0-9]+')\x0d\x0a 3 FROM\x0d\x0a 4 test_reg_substr\x0d\x0a 5 WHERE\x0d\x0a 6 REGEXP_LIKE(a, '[0-9]+');
如果字段存的就是這個,那么這個應(yīng)該是字符串吧,那么就分幾步操作。
(1)定位,定位{和:的位置,從現(xiàn)在來看有兩種可能,第一種
這是兩個字段,分別是{12345:67:8}和{ABC:0:9},那就簡單了{(lán)肯定是1,所以這個也就不需要定位了,只需要定位第一個冒號的位置。
定位的函數(shù)應(yīng)該是instr
第二種:{12345:67:8}{ABC:0:9}是一個字段的內(nèi)容,那就麻煩一些,不過也能做,希望不是這樣的,因?yàn)檫@個就要麻煩很多了。正則倒是能做,不過正則都要測試,我可沒有相應(yīng)的環(huán)境做測試。這里也就不寫了,如果是這種,那么自己翻一翻正則函數(shù)的用法,應(yīng)該能寫出來。
(2)截取,如果是第一種,那么定位了第一個冒號位置以后,用這個位置-2,也就是
instr(字段,':',1)-2這就是截取的長度,
從第二位開始截取,截取這個長度就可以substr(字段,2,instr(字段,':',1)-2)
這樣的話,{12345:67:8}換算到內(nèi)部就是substr({12345:67:8},2,5(7-2)),【7-2說明5的來源,第一個冒號在第7位】,截取出來就是12345
還是那句話,如果是第二種可能,那么就要找每一個{的位置,然后找在{后面距離最近的冒號的位置,然后再一個個的截取操作,正則應(yīng)該可以操作,不過我還是那句話,需要測試,意思和這個截取函數(shù)差不多,自己好好理解一下應(yīng)該就能操作了。
網(wǎng)站題目:oracle截取怎么用,oracle數(shù)據(jù)截取
標(biāo)題來源:http://jinyejixie.com/article20/hsiejo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、定制網(wǎng)站、軟件開發(fā)、手機(jī)網(wǎng)站建設(shè)、電子商務(wù)、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)