文档

SUBSTRING

更新时间:

返回字符串strstart_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结尾的子串。

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