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