在oracle中
可以使用instr函式對某個字串進行判斷,判斷其是否含有指定的字元。
在乙個字串中查詢指定的字元,返回被查詢到的指定的字元的位置。
instr(』源字串』 , 『目標字串』 ,』開始位置』,』第幾次出現』)
其中sourcestring代表源字串;
deststring代表要從源字串中查詢的子串;
start代表查詢的開始位置,這個引數可選的,預設為1;
如果start的值為負數,則代表從右往左進行查詢,但是位置資料仍然從左向右計算。
返回值為:查詢到的字串的位置。
對於instr函式,我們經常這樣使用:從乙個字串中查詢指定子串的位置。例如:
sql> select instr(『abcdefgh』,』de』) position from dual;
4 從1開始算 d排第四所以返回4
sql>select instr(『abcdefghbc』,』bc』,3) position from dual;
9 從第3個字元開始算起 第3個字元是c,所以從3開始以後的字串找查詢bc,返回9
從第1個字元開始,查詢第2次出現子串的位置
sql> select instr(『qinyinglianqin』,』qin』, 1, 2) position from dual;
12 substr()函式
1.用處:是從給定的字元表示式或備註欄位中返回乙個子字串。
2.語法格式:substr(cexpression,nstartposition [,ncharactersreturned])
其中,cexpression指定要從其中返回字串的字元表示式或備註字段;
nstartposition用於指定返回的字串在字元表示式或備註欄位中的位置,
ncharactersreturned用於指定返回的字元數目,預設時返回字元表示式的值結束前的全部字元。
3.舉例:store』abcdefghijlkm』 to mystring
substr(mystring ,1,5) 顯示 「abcde」 1 從第乙個字元開始 擷取的字元中,包括第乙個字元
substr(mystring ,6) 顯示 「fghijklm」
substr(mystring,-2)顯示「km」 最右邊乙個字元是-1,最右邊左邊的字元是-2,然後預設是從左向有取剩下的全部的字元
substr(mystrng,-4)顯示「jlkm」
以下是本人工作中擷取的字元的例項:
這張圖是原來欄位的資料:
這張圖是擷取後獲取的資料和sql語句:
oracle 實現按照指定字元擷取陣列
功能描述 用指定分隔符切割輸入的字串,返回一維陣列,每個陣列元素為乙個子串。源 create or replace type ty str split is table of varchar2 4000 create or replace function fn split p str in var...
js 字串擷取指定字元
let str hello world 如擷取hello indexof,查詢字串,有返回下標,沒有返回 1 let index str.indexof hello substring,引數是從哪擷取到哪,不接受負數 let cutout1 str.substring index,index 5 s...
Oracle擷取字串去掉字段末尾指定長度的字元
lenewjpjlthgthb s計算string所佔的位元組長度 返回字串的長度,單位是位元組 length string 計算string所佔的字元長度 返回字串的長度,單位是字元 eg 去掉該欄位後面15位字串 select t.depre www.cppcns.comname,substr ...