#SPLIT

split
SPLIT ( expr , delimiter , n )

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

expr

expr的值须为字符型,或除JSON、LOB、XMLTYPE类型外可转化为字符型的其他类型。

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

  • 当expr为CHAR类型时,系统截断其尾部空格。

delimiter

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

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

  • 当delimiter为CHAR类型时,若为非空格串,系统截断其尾部空格。

  • 当delimiter为CHAR类型时为空格串,系统截断并保留一个空格。

n

指定返回的子字符串序号,n为与expr相同的通用表达式,须为数值型,或可转换为NUMBER的字符型数据,取值范围[-2147483648,2147483647]。

  • 对于带有小数的数据,小数部分截断,保留整数位。

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

  • 当n的值为正数时,表示按从左往右的顺序。

  • 当n的值为负数时,表示按从右往左的顺序。

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

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

示例

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 复制链接