split_part
函数
适用于: Databricks SQL Databricks Runtime 11.3 LTS 及更高版本
将 str
围绕 delim
的次数拆分,并返回 partNum
部分。
语法
split_part(str, delim, partNum)
参数
str
:要拆分的STRING
表达式。delimiter
:用作部分分隔符的STRING
表达式。partNum
:选择要返回的部分的INTEGER
表达式。
返回
一个 STRING
。
如果 partNum
>= 1:将返回从 str
开始计数的 partNum
部分。
如果 partNum
<= -1:将返回从 str
末尾计数的 abs(partNum)
部分。
如果 partNum
超出了 str
中的部件数:该函数返回一个空字符串。
如果 partNum
为 0:则 split_part
引发 INVALID_INDEX_OF_ZERO。
示例
> SELECT '->' || split_part('Hello,world,!', ',', 1) || '<-';
->Hello<-
> SELECT '->' || split_part('Hello,world,!', ',', 2) || '<-';
->world<-
> SELECT '->' || split_part('Hello,world,!', ',', 100) || '<-';
-><-
> SELECT '->' || split_part('Hello,world,!', ',', -2) || '<-';
->world<-
> SELECT '->' || split_part('Hello,world,!', ',', -100) || '<-';
-><-
> SELECT '->' || split_part('', ',', 1) || '<-';
-><-
> SELECT '->' || split_part('Hello', '', 3) || '<-';
-><-
> SELECT '->' || split_part('Hello,World,!', ',', 0) || '<-';
ERROR: INVALID_INDEX_OF_ZERO
> SELECT split_part('5A6B7' COLLATE UTF8_BINARY, 'a', 1);
5A6B7
> SELECT split_part('5A6B7' COLLATE UTF8_LCASE, 'a', 1);
5