Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
S’applique à :
Databricks SQL
Databricks Runtime 15.3 et versions ultérieures
Retourne un ensemble de lignes en dés imbrication input.
Dans Databricks SQL et Databricks Runtime 16.1 et ses versions ultérieures, cette fonction prend en charge l’appel de paramètre nommé.
Syntaxe
variant_explode ( input )
Les arguments
-
variantExpr: expressionVARIANTreprésentant un objetVARIANTouVARIANT ARRAY.
Retours
Ensemble de lignes composées des éléments du VARIANT ARRAY ou des clés et des valeurs de l’objet VARIANT.
Les colonnes produites par variant_explode sont les suivantes :
pos INTkey STRING-
value VARIANT.
Lors de l’explosion d’un objet VARIANT, les colonnes key et value de sortie représentent les clés et les valeurs de l’objet.
Lors de l’explosion d’un tableau VARIANT, le key de sortie est toujours NULL et la colonne value de sortie représente les éléments du tableau.
Si input est NULL ou n’est pas un objet VARIANT ARRAY ou VARIANT, aucune ligne n’est générée.
Pour générer une seule ligne des valeurs NULL dans ce cas, utilisez la fonction variant_explode_outer.
Exemples
-- 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