Функция split

Область применения:галочка Databricks SQL галочка Databricks Runtime

Разделяет str вокруг вхождений, соответствующих regex, и возвращает массив длиной не более limit.

Синтаксис

split(str, regex [, limit] )

Аргументы

Возвраты

Объект ARRAY<STRING>.

Если limit> значение 0: длина результирующего массива не будет больше limit, а последняя запись результирующего массива будет содержать все входные данные за пределами последнего совпадения regex.

Если limit< = 0: regex будет применено столько раз, сколько возможно, полученный массив может быть любого размера.

Примеры

Разделение по набору символов разделителя

Класс [ABC] символов соответствует любому из Aразделителей Bили C как разделитель. Конечный пустой элемент поступает из разделителя в конце строки.

> SELECT split('oneAtwoBthreeC', '[ABC]');
 [one,two,three,]

Разделение строки с разделим запятыми

> SELECT split('apple,banana,cherry', ',');
 [apple,banana,cherry]

Разделение на один или несколько символов пробелов

Используйте так \s+ , чтобы выполнение пробелов или вкладок действовало в качестве одного разделителя.

> SELECT split('the   quick  brown', r'\s+');
 [the,quick,brown]

Ограничение количества элементов

Если limit значение больше 0, конечный элемент содержит оставшуюся часть строки.

> SELECT split('oneAtwoBthreeC', '[ABC]', 2);
 [one,twoBthreeC]

> SELECT split('oneAtwoBthreeC', '[ABC]', -1);
 [one,two,three,]

Параметры сортировки влияют на сопоставление

Нижний регистр [abc] соответствует разделителям верхнего регистра только при нечувствительной сортировке регистра.

> SELECT split('oneAtwoBthreeC' COLLATE UTF8_BINARY, '[abc]');
 [oneAtwoBthreeC]

> SELECT split('oneAtwoBthreeC' COLLATE UTF8_LCASE, '[abc]');
 [one,two,three,]