語法:substr(string,start, [length])
string:要擷取的字元
start:開始位置,如果為負數,就從字串的尾部往前數,
length:擷取長度,可選項
select substr('12.13.14.15',4) from dual; --13.14.15
select substr('12.13.14.15',4,2) from dual; --13
select substr('12.13.14.15',-4) from dual; --4.15
select substr('12.13.14.15',-4,2) from dual; --4.
substr函式上面已經介紹過了這裡就不說了。
instr函式:
語法:instr(string,child_string,[start],[next])
string:源字串中
child_string:要查詢的字串
start:可選項,開始位置,預設從1開始。如果為負數,則從右向左檢索
next:可選項,表示子字串第幾次出現在源字串當中,預設第1次,負數則報錯
select instr('11.123.1234.12345', '.') from dual --返回3
select instr('11.123.1234.12345', '.', 5) from dual --返回7
--表示從源字串'11.123.1234.12345'中第5個字元開始查詢子字串'.'第1次出現的位置
select instr('11.123.1234.12345', '_', 5, 1) from dual --返回7
--表示從源字串'11.123.1234.12345'中第3個字元開始查詢子字串'.'第2次出現的位置
select instr('11.123.1234.12345', '.', 5, 2) from dual --返回12
--start引數為-1,從右向左檢索,查詢'.'字串在源字串中第1次出現的位置
select instr('11.123.1234.12345', '.', -1, 1) from dual --返回12
--start引數為-6,從右向左檢索,查詢'.'字串在源字串中第2次出現的位置
select instr('11.123.1234.12345', '.', -6, 2) from dual --返回7
結合substr和instr:
select substr('12.13.14.15',instr('11.123.1234.12345', '.')) from dual ---.13.14.15
select substr('12.13.14.15',instr('11.123.1234.12345', '.'),2) from dual --.1
select substr('12.13.14.15',instr('11.123.1234.12345', '.',4)) from dual --14.15
select substr('12.13.14.15',instr('11.123.1234.12345', '.',4),2) from dual --14
終極大秘籍:substr(string,instr(string,child_str),instr(string,child_str,4))
解釋:從字串string中擷取從child_str第一次出現的位置到child_str在string的第四個字元後出現的位置
字串擷取方式
shell字串擷取 str ip 192.168.3.123,port 8080 擷取 echo 1 是運算子,表示從左側第乙個字元開始,到,結束,刪除這些字元 上例顯然擷取之後結果為 port 8080 擷取 echo 2 表示從左側第乙個字元開始,到最後乙個.結束,將最後乙個.之前的字元全部刪除...
字串的擷取方式
一 通過split擷取 string str abc,12,3yy98,0 string strs str.split for int i 0,len strs.length isystem.out.println strs i tostring 執行結果 abc 12 3yy98 0 二 通過su...
ORACLE字串擷取
substr 函式 擷取字串 語法 substr string,start,length string 表示源字串,即要擷取的字串。start 開始位置,從1開始查詢。如果start是負數,則從string字串末尾開始算起。length 可選項,表示擷取字串長度。示例 select substr h...