返回字串str從start_position開始,長度為length的子串。
命令格式
string substring(string|binary <str>, int <start_position>[, int <length>])
參數說明
str:必填。STRING或BINARY類型。
start_position:必填。INT類型,起始位置為1。當start_position為0時,返回空串。當start_position為負數時,表示開始位置是從字串的結尾往前倒數,最後一個字元是-1,依次往前倒數。
length:可選。BIGINT類型,表示子串的長度值。值必須大於0。
傳回值說明
返回STRING類型。返回規則如下:
str為非STRING、BINARY或不支援隱式轉換為STRING、BINARY的類型時,返回報錯。
length非BIGINT類型或值小於等於0時,返回報錯。
當length被省略時,返回到str結尾的子串。
str、start_position或length值為NULL時,返回NULL。
使用樣本
樣本1:返回字串
abc
從指定位置開始,指定長度的子串。命令樣本如下。--返回bc。 select substring('abc', 2); --返回b。 select substring('abc', 2, 1); --返回bc。 select substring('abc',-2,2); --返回ab。 select substring('abc',-3,2); --返回001。 select substring(bin(2345), 2, 3);
樣本2:任一輸入參數為NULL。命令樣本如下。
--返回NULL。 select substring('abc', null, null);
相關函數
SUBSTRING函數屬於字串函數,更多尋找字串、轉換字串格式的相關函數請參見字串函數。