Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:
Databricks SQL
Databricks Runtime
Separerar expr1, ..., exprN i numRows rader.
Syntax
stack(numRows, expr1 [, ...] )
Argumenten
-
numRows: EnINTEGERliteral större än 0 som anger antalet rader som skapas. -
exprN: Ett uttryck av valfri typ. Vilken typ av som helstexprNmåste matcha typen avexpr(N+numRows).
Returer
En uppsättning numRows rader som innehåller max(1, (N/numRows)) kolumner som skapas av den här funktionen.
En ofullständig rad är vadderad med NULLs.
Som standard heter de producerade kolumnerna col0, … col(n-1).
stack motsvarar VALUES -satsen.
Gäller för:
Databricks Runtime 12.1 och tidigare:stackkan bara placeras i listanSELECTsom rot för ett uttryck eller efter en LATERAL VIEW. När du placerar funktionen iSELECT-listan får det inte finnas någon annan generatorfunktion i sammaSELECT-lista, eller så höjs UNSUPPORTED_GENERATOR.MULTI_GENERATOR.Gäller för:
Databricks SQL
Databricks Runtime 12.2 LTS och senare:Anrop från LATERAL VIEW-satsen eller
SELECT-listan är föråldrat. Anropastacki stället som en table_reference.
Exempel
Gäller för:
Databricks Runtime 12.1 och tidigare:
> 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
Gäller för:
Databricks SQL
Databricks Runtime 12.2 LTS och senare:
> 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