Функция 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: возвращается часть partNum
, отсчитываемая с начала str
.
Если partNum
<= -1: возвращается часть abs(partNum)
, отсчитываемая с конца str
.
Если 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