split_part
関数
適用対象: Databricks SQL Databricks Runtime 11.3 LTS 以降
delim
の出現場所を囲むように str
を分割し、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