函式定義
substr(strings|express,m,[n])
strings|express :被截取的字元串或字元串表達式
m 從第m個字元開始截取
n 截取後字元串長度為n
函式語法
substr(string,start,length)
參數 | 必須 | 參數說明 |
string | 必須 | 指定的要截取的字元串 |
start | 必須 | 規定在字元串的何處開始: 正數 - 在字元串的指定位置開始 負數 - 在從字元串結尾的指定位置開始 0 - 在字元串中的第一個字元處開始 |
length | 可選 | 指定要截取的字元串長度,預設時返回字元表達式的值結束前的全部字元 |
例如:
select substr('abcdefg',3,4) from dual;結果是cdef
select substr('abcdefg',-3,4) from dual;結果efg
select substr('abcde',2),substr('abcde',-2),substr('abcde',2,3),substr('abcdewww',-7,3) from dual;
結果是bcde、de、bcd、bcd
注意事項
1、函式參數start或length任意值為空,那么結果為空
eg:
SQL> select substr('abcde',1,null) from dual;
SUBSTR('ABCDE',1,NULL)
----------------------
SQL> select substr('abcde',null,null) from dual;
SUBSTR('ABCDE',NULL,NULL)
-------------------------
SQL> select substr('abcde',null,1) from dual;
SUBSTR('ABCDE',NULL,1)