共用方式為


split_part函式

適用於:核取記號為「是」 Databricks SQL 核取記號為「是」 Databricks Runtime 11.3 LTS 和更新版本

分割 delim 出現處周圍的 str,並傳回 partNum 的組件。

語法

split_part(str, delim, partNum)

引數

  • strSTRING:要分割的表達式。
  • delimiterSTRING:做為元件分隔符的表達式。
  • partNumINTEGER:選取要傳回之元件的表達式。

傳回

STRING

如果 partNum>= 1: partNum將會傳回從 開頭 str 算起的 s 部分。

如果 partNum<= -1: abs(partNum)將會傳回從 結尾 str 計算的 s 部分。

如果 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