返回字符串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函数属于字符串函数,更多查找字符串、转换字符串格式的相关函数请参见字符串函数。