更新时间:2023-11-03 GMT+08:00

substr/substring

substr、substring函数用于返回字符串str从start_position开始,长度为length的子串。

命令格式

substr(string <str>, bigint <start_position>[, bigint <length>]) 

substring(string <str>, bigint <start_position>[, bigint <length>])

参数说明

表1 参数说明

参数

是否必选

参数类型

说明

str

STRING

如果输入为BIGINT、DECIMAL、DOUBLE或DATETIME类型,则会隐式转换为STRING类型后参与运算。

start_position

BIGINT

表示起始位置。默认起始位置为1。

如果start_position取值为正,则从左边开始。如果start_position取值为负,则从右边开始。

length

BIGINT

表示子串的长度值。值必须大于0。

返回值说明

返回STRING类型的值。

  • str非STRING、BIGINT、DECIMAL、DOUBLE或DATETIME类型时,返回报错。
  • length非BIGINT类型或值小于等于0时,返回报错。
  • 当length被省略时,返回到str结尾的子串。
  • str、start_position或length值为NULL时,返回NULL。

示例代码

返回 k SQL。

SELECT substr('Spark SQL', 5); 

返回 SQL。

SELECT substr('Spark SQL', -3);

返回 k。

SELECT substr('Spark SQL', 5, 1);