Funkce split

Platí pro:zaškrtnuto ano Databricks SQL zaškrtnuto ano Databricks Runtime

Rozdělí str podle výskytů, které odpovídají regex, a vrátí pole v délce maximálně limit.

Syntaxe

split(str, regex [, limit] )

Argumenty

  • str: Výraz STRING , který se má rozdělit.
  • regexp: Výraz STRING , který je regulární výraz, který rozdělí str. Podporované syntaxe najdete v regulárních výrazech .
  • limit: Volitelný INTEGER výraz s výchozí hodnotou 0 (bez omezení).

Návraty

A ARRAY<STRING>.

Pokud limit> 0: Délka výsledného pole nebude delší než limit, a poslední položka výsledného pole bude obsahovat všechny vstupy po poslední shodě regex.

Pokud limit<= 0: regex použije se co nejvícekrát a výsledná matice může mít libovolnou velikost.

Příklady

Rozdělení sady znaků oddělovače

Třída [ABC] znaků odpovídá libovolnému znaku A, Bnebo C jako oddělovač. Koncový prázdný prvek pochází z oddělovače na konci řetězce.

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

Rozdělení řetězce odděleného čárkami

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

Rozdělení na jeden nebo více prázdných znaků

Slouží \s+ k tomu, aby běh mezer nebo tabulátoru fungoval jako jeden oddělovač.

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

Omezení počtu prvků

Pokud limit je větší než 0, poslední prvek obsahuje zbytek řetězce.

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

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

Kolace ovlivňuje porovnávání

Vzor malými písmeny [abc] odpovídá oddělovačům velkých písmen pouze v případě, že kolace nerozlišuje malá a velká písmena.

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

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