適用於:
Databricks SQL
Databricks Runtime 11.3 LTS 和更新版本
分割 str 出現處周圍的 delim,並傳回 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