標籤:
例子:
select substr(largetext,instr(largetext,‘A‘,1,1)+11,instr(largetext,‘B‘,1,1)-instr(largetext,‘A‘,1,1)-11) as CutStr
from 表名 where id=‘123456789‘
and instr(largetext,‘B‘,1,1)<>0;
1.instr
返回要截取的字串在源字串中的位置,字串分隔常用函數。
instr( string1, string2, start_position,nth_appearance )
| string1 |
源字串,要在此字串中尋找。 |
| string2 |
要在string1中尋找的字串 。 |
| start_position |
代表string1 的哪個位置開始尋找。此參數可選,如果省略預設為1. 字串索引從1開始。如果此參數為正,從左至右開始檢索,如果此參數為負,從右至左檢索,返回要尋找的字串在源字串中的開始索引。 |
| nth_appearance |
代表要尋找第幾次出現的string2. 此參數可選,如果省略,預設為 1.如果為負數系統會報錯。 |
2.substr
substr(字串,截取開始位置,截取長度) //返回截取的字
substr(‘Hello World‘,0,1) //返回結果為 ‘H‘ *從字串第一個字元開始截取長度為1的字串
substr(‘Hello World‘,1,1) //返回結果為 ‘H‘ *0和1都是表示截取的開始位置為第一個字元
substr(‘Hello World‘,2,4) //返回結果為 ‘ello‘
substr(‘Hello World‘,-3,3)//返回結果為 ‘rld‘ *負數(-i)表示截取的開始位置為字串右端向左數第i個字元
測試:
select substr(‘Hello World‘,-3,3) value from dual
3.and instr(largetext,‘</CARRIERID>‘,1,1)<>0;判斷有字串
Oracle從資料庫表中XML檔案中讀取對應欄位