#SPLIT

split
SPLIT ( expr , delimiter , n )

SPLIT函数将expr表示的字符串按照指定的分割符delimiter分割为若干个子字符串,返回第n个子字符串。

expr

通用表达式,其值须为字符型或除JSON、LOB、XMLTYPE类型外的可转化为字符型的其他类型。

  • 当expr的值为CHAR类型时,会先去除字符串尾部的空格。

  • 当expr的值为NULL时,函数返回NULL。

delimiter

分割符,delimiter为与expr相同的通用表达式,须为字符型或除JSON、LOB、XMLTYPE类型外的可转化为字符型的其他类型。

  • 当delimiter的值为CHAR类型时,会先去字符串尾部的空格,若为全空格串(例如' ')则最终将处理为1个空格(即' ')。

  • 当delimiter的值为NULL时,函数返回NULL。

n

指定返回的子字符串序号,n为与expr相同的通用表达式,须为数值型或可转换为NUMBER的字符型数据,取值范围为[-2147483648,0)∪(0,2147483647],正数表示按从左往右的顺序,负数则表示按从右往左的顺序。

  • 当n为0时,函数将会报错。

  • 当n为小数时,将直接截断小数部分保留整数位。

  • 当n的绝对值大于分割后的子字符串个数时,函数返回NULL。

  • 当n的值为NULL时,函数返回NULL。

示例

SELECT SPLIT('a,b,c', ',', 1) a
,SPLIT('a,b,c', ',', 4) b
,SPLIT('广东省深圳', '省', 1) c
,SPLIT('a,b,c', ',' , 2.9) d
FROM DUAL;
A     B     C         D
----- ----- --------- -----
a           广东       b
pdf-btn 下载文档
copy-btn 复制链接