适用于:
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