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 15.3 och senare
Returnerar en uppsättning rader genom att ta bort kapslingen input.
I Databricks SQL och Databricks Runtime 16.1 och senare stöder den här funktionen med namnet parameteranrop.
Syntax
variant_explode ( input )
Argument
-
variantExpr: EttVARIANTuttryck som representerar ettVARIANTobjekt ellerVARIANT ARRAY.
Returer
En uppsättning rader som består av elementen VARIANT ARRAYi eller nycklarna och värdena för VARIANT objektet.
Kolumnerna som skapas av variant_explode är:
pos INTkey STRING-
value VARIANT.
När ett VARIANT objekt exploderar representerar utdata key och value kolumner objektens nycklar och värden.
När en VARIANT matris exploderar är utdata key alltid NULL, och utdatakolumnen value representerar elementen i matrisen.
Om input är NULL, eller inte är ett VARIANT ARRAY eller VARIANT -objekt, skapas inga rader.
Om du vill skapa en enda rad med NULL värden i det här fallet använder du funktionen variant_explode_outer .
Exempel
-- Simple example
> SELECT *
FROM variant_explode(parse_json('[1, "a", {"b": "hello"}]'));
pos key value
--- ---- -------------
0 NULL 1
1 NULL "a"
2 NULL {"b":"hello"}
> SELECT *
FROM variant_explode(parse_json('{"foo":1,"bar":"hello"}'));
pos key value
--- ---- -------------
0 bar "hello"
1 foo 1
-- Using lateral correlation
> SELECT t.value AS outer, u.value AS inner
FROM variant_explode(parse_json('[[1, 2], [3, 4]]')) AS t,
LATERAL variant_explode(t.value) AS u;
outer inner
----- -----
[1,2] 1
[1,2] 2
[3,4] 3
[3,4] 4