Oracle instr

能夠使用instr函數對某個字符串進行判斷,判斷其是否含有指定的字符。 

在一個字符串中查找指定的字符,返回被查找到的指定的字符的位置。 

語法: 
instr(sourceString,destString,start,appearPosition) 

instr('源字符串' , '目標字符串' ,'開始位置','第幾回出現') 

其中sourceString表明源字符串; 

destString表明要從源字符串中查找的子串; 

start表明查找的開始位置,這個參數可選的,默認爲1; 

appearPosition表明想從源字符中查找出第幾回出現的destString,這個參數也是可選的, 默認爲1 

若是start的值爲負數,則表明從右往左進行查找,可是位置數據仍然從左向右計算。 

返回值爲:查找到的字符串的位置。 

------------------------------------------------------------- 

對於instr函數,咱們常常這樣使用:從一個字符串中查找指定子串的位置。例如: 

SQL> select instr('abcdefgh','de') position from dual; 


POSITION 
---------- 
   4 
從1開始算 d排第四因此返回4 

SQL>select instr('abcdefghbc','bc',3) position from dual; 

POSITION 
---------- 
  9 
從第3個字符開始算起 第3個字符是c,因此從3開始之後的字符串找查找bc,返回9 

--------------------------- 
從第1個字符開始,查找第2次出現子串的位置 
SQL> select instr('qinyinglianqin','qin', 1, 2) position from dual; 
POSITION 
---------- 
  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」 
相關文章
相關標籤/搜索