Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
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