回覆列表
-
1 # 使用者1022578693743
-
2 # 使用者6767156913043
1、在oracle中經常需要使用到擷取字串函式substr。語法:substr(str,num1,[num2]); 預設情況下都是隻需要兩個引數,它的意思是從第二個字元開始擷取str字串剩下所有的字元。
2、substr函式中第二個引數也可以是負數,它的使用是從str倒數第num1個字元的位置開始擷取。
3、也可以同時使用三個數,它的使用是從num1開始擷取str字元,擷取num2個字元。如下圖,
4、在同時使用三個引數的時候,第二個引數也可以是負數,它的使用就是從str倒數num1的位置的開始擷取num2個字元。如下圖,
5、不過有一點需要注意的是從num位置開始擷取str時,如果num2的引數比較大那麼返回的結果也只是返回str從num位置開始最多的字元。完成。
substr(string,start_position,[length]) 引數分析: string 字串值 start_position 擷取字串的初始位置,Number型,start_position為負數時,表示從字串右邊數起。 length 擷取位數,Number型 其中,length為可選,如果length為空(即不填)則返回start_position後面的所有字元。 意思就是: 從start_position開始,取出length個字元並返回取出的字串。 具體參考示例。 示例: SELECTsubstr("Thisisatest",6,2)FROMdual返回"is" substr("SyranMohaveadream",-8,2)