oracle 字符串截取substr和instr

  1. SUBSTR(string,start_position,[length])    求子字符串,返回字符串
    解釋:string 元字符串
           start_position   開始位置(從0開始)
           length 可選項,子字符串的個數
    For example:

    位置是從開始
    substr("ABCDEFG", 0); //返回:ABCDEFG,截取全部字符 html

    substr("ABCDEFG", 1); //返回:ABCDEFG,截取全部字符 spa

    substr("ABCDEFG", -0); //返回:ABCDEFG,截取全部字符  -0=0,都是從左邊截htm

    substr("ABCDEFG", -0,1); //返回:A,從左截1位blog

    substr("ABCDEFG", 2); //返回:CDEFG,截取從C開始以後全部字符 字符串

    substr("ABCDEFG", -2); //返回:FG,從右邊數第二位開始截取string

    substr("ABCDEFG", -2,1); //返回:F,從右邊數第二位開始截取1位長度
    substr("ABCDEFG", 0, 3); //返回:ABC,截取從A開始3個字符 
    substr("ABCDEFG", 0, 100); //返回:ABCDEFG,100雖然超出預處理的字符串最長度,但不會影響返回結果,系統按預處理字符串最大數量返回。 
    substr("ABCDEFG", -3); //返回:EFG,注意參數-3,爲負值時表示從尾部開始算起,字符串排列位置不變。it

 

 

   2. INSTR(string,subString,position,ocurrence)查找字符串位置 從1開始
    解釋:string:源字符串
            subString:要查找的子字符串
         position:查找開始位置(從1開始) 不能夠是0,會找不見,-是從右邊找io

    好比:-2 從右邊第二位開始找,select

    ocurrence:源字符串中第幾回出現的子字符串 不加這個參數默認是1co

    substr("ABCDEFG", -2,1); //返回:F,從右邊數第二位開始截取1位長度

    select instr('ABCDEFGABCDEFG','B',2) from dual   返回2

    select instr('ABCDEFGABCDEFG','B',3) from dual   返回9

    select instr('ABCDEFGABCDEFG','B',-1) from dual   返回9

    select instr('ABCDEFGABCDEFG','B',-1,2) from dual 返回2

    select instr('ABCDEFGABCDEFG','B',1,2) from dual  返回9

 

 


      For example:   取A001HZJKQS   中間的001

substr('A001HZJKQS',2,instr('A001HZJKQS','HZJKQS',1)-2)

 

 參考貼:  https://www.cnblogs.com/cyblogs/p/5983612.html

相關文章
相關標籤/搜索