Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Databricks SQL
Databricks Runtime
Odděluje expr1, …, exprN na numRows řádky.
Syntaxe
stack(numRows, expr1 [, ...] )
Argumenty
-
numRows: LiterálINTEGERvětší než 0 určující počet vytvořených řádků. -
exprN: Výraz libovolného typu. Typ libovolnéhoexprNtypu musí odpovídat typuexpr(N+numRows).
Návraty
Sada numRows řádků, které obsahují max(1, (N/numRows)) sloupce vytvořené touto funkcí.
Neúplný řádek je vycpaný s NULL.
Ve výchozím nastavení jsou vytvořené sloupce pojmenovány col0, … col(n-1).
stackje ekvivalentní klauzuliVALUES.
Platí pro:
Databricks Runtime 12.1 a starší:stacklze umístit pouze do seznamuSELECTjako kořen výrazu nebo za LATERAL VIEW. Při umístění funkce doSELECTseznamu nesmí být žádná jiná generátorová funkce ve stejnémSELECTseznamu, jinak je vyvolána chyba UNSUPPORTED_GENERATOR.MULTI_GENERATOR.Platí pro:
Databricks SQL
Databricks Runtime 12.2 LTS a vyšší:Vyvolání z klauzule LATERAL VIEW nebo seznamu
SELECTje zastaralé. Místo toho se vyvolástackjako table_reference.
Příklady
Platí pro:
Databricks Runtime 12.1 a starší:
> SELECT 'hello', stack(2, 1, 2, 3) AS (first, second), 'world';
hello 1 2 world
hello 3 NULL world
> SELECT 'hello', stack(2, 1, 2, 3) AS (first, second), stack(2, 'a', 'b') AS (third) 'world';
Error: UNSUPPORTED_GENERATOR.MULTI_GENERATOR
-- Equivalent usage of VALUES
> SELECT 'hello', s1.*, s2.*, 'world'
FROM VALUES(1, 2), (3, NULL) AS s1(first, second),
VALUES('a'), ('b') AS s2(third);
hello 1 2 a world
hello 3 NULL a world
hello 1 2 b world
hello 3 NULL b world
Platí pro:
Databricks SQL
Databricks Runtime 12.2 LTS a vyšší:
> SELECT 'hello', s.*, 'world'
FROM stack(2, 1, 2, 3) AS s(first, second);
hello 1 2 world
hello 3 NULL world
> SELECT 'hello', s1.*, s2.*, 'world'
FROM stack(2, 1, 2, 3) AS s1(first, second),
stack(2, 'a', 'b') AS s2(third);
hello 1 2 a world
hello 3 NULL a world
hello 1 2 b world
hello 3 NULL b world
Související funkce
-
explodefunkce generátoru s tabulkovými hodnotami -
explode_outerfunkce generátoru s tabulkovými hodnotami -
inlinefunkce generátoru s tabulkovými hodnotami -
inline_outerfunkce generátoru s tabulkovými hodnotami -
posexplode_outerfunkce generátoru s tabulkovými hodnotami -
posexplodefunkce generátoru s tabulkovými hodnotami