複製鏈接
請複製以下鏈接發送給好友

substr

(SQL數據庫操作函數)

鎖定
substr函數在oracle中使用表示被截取的字符串或字符串表達式。和instr函數不同,instr函數是要截取的字符串在源字符串中的“位置”,substr函數是截取字符串的“內容”。
中文名
字符串截取函數
外文名
substr
函數定義
從第m個字符開始截取
函數語法
指定的要截取的字符串
注意事項
末位參數可省略

substr函數定義

運行結果截圖 運行結果截圖
substr(strings|express,m,[n])
strings|express :被截取的字符串或字符串表達式
m 從第m個字符開始截取
n 截取後字符串長度為n

substr函數語法

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

substr注意事項

1、函數參數start或length任意值為空,那麼結果為空
eg:
SQLselect substr('abcde',1,null) from dual;
SUBSTR('ABCDE',1,NULL)
----------------------
SQLselect substr('abcde',null,null) from dual;
SUBSTR('ABCDE',NULL,NULL)
-------------------------
SQLselect substr('abcde',null,1) from dual;
SUBSTR('ABCDE',NULL,1)