【轉】oracle instr函式

散葉涔發表於2012-04-23

在oracle PL/SQL中,instr函式返回string2在string1中出現的位置,語法如下:

 

instr(string1,instring2[,start_position[,nth_appearance]])


string1:被搜尋的字串


string2:在string1裡面尋找的字串


start_position:從string1中開始搜尋的位置,這是個可選引數,預設為1。


 sting1中第一個字元的位置為1。如果這個引數為一個負數,那麼搜尋將從string1的末尾開始,並向string1的開始位置進行搜尋。


nth_appearance:string2在string1中出現的次數,這是一個可選引數,預設值為1.


注意:如果string2未在string1中出現,那麼instr函式的返回值為0。

 

例項
1.從起始位置開始搜尋,第一次出現子串的位置
SQL> select instr('chen_linbo_bobo12082119','bo',1,1) from dual;
INSTR('CHEN_LINBO_BOBO12082119
------------------------------
                             9
SQL> select instr('chen_linbo_bobo12082119','bo') from dual;
INSTR('CHEN_LINBO_BOBO12082119
------------------------------
                             9

2.從後往前搜尋,第二次出現子串的位置
SQL> select instr('chen_linbo_bobo12082119','bo',-1,1) from dual;
INSTR('CHEN_LINBO_BOBO12082119
------------------------------
                            14
SQL> select instr('chen_linbo_bobo12082119','bo',-1) from dual;
INSTR('CHEN_LINBO_BOBO12082119
------------------------------
                            14

3.從指定位置開始搜尋
SQL> select instr('chen_linbo_bobo12082119','bo',7,3) from dual;
INSTR('CHEN_LINBO_BOBO12082119
------------------------------
                            14
SQL> select instr('chen_linbo_bobo12082119','bo',10,3) from dual;
INSTR('CHEN_LINBO_BOBO12082119
------------------------------
                             0

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26892340/viewspace-721994/,如需轉載,請註明出處,否則將追究法律責任。

相關文章