TypeVARIANT
S’applique à : Databricks Runtime 15.3 et versions ultérieures
Représente des données semi-structurées.
Syntaxe
VARIANT
Limites
Le type prend en charge le stockage de toutes les données semi-structurées, notamment STRUCT
, ARRAY
, MAP
et les types scalaires.
VARIANT
ne peut stocker que des types MAP
avec des clés de type STRING
.
Littéraux
Consultez la fonction parse_json pour obtenir des informations détaillées sur la création d’une valeur VARIANT
.
Vous pouvez également utiliser la fonction CAST
pour convertir un littéral d’un certain type en VARIANT
.
Notes
- Pour extraire une valeur d’un
VARIANT
, vous pouvez utiliser l’un des éléments suivants :- la fonction variant_get à l’aide d’une expression de chemin JSON pour accéder à un type complexe.
- l’opérateur : (signe deux-points) pour analyser le
VARIANT
à l’aide d’une expression de chemin JSON. - la fonction try_variant_get à l’aide d’un chemin JSON pour accéder à un type complexe avec tolérance d’erreur.
- la fonction cast ou l’opérateur :: (deux signes deux-points) pour forcer le
VARIANT
en un type spécifique. - la fonction try_cast pour forcer le
VARIANT
en un type spécifique avec tolérance d’erreur.
- Pour inspecter le type d’une valeur
VARIANT
, utilisez l’un des éléments suivants :- la fonction schema_of_variant pour une valeur individuelle.
- la fonction d’agrégation schema_of_variant_agg pour une collection de valeurs.
Exemples
> SELECT parse_json('{"key": 123, "data": [4, 5, "str"]}');
{"data":[4,5,"str"],"key":123}
> SELECT parse_json(null);
null
> SELECT parse_json('123');
123
> SELECT CAST(123.456 AS VARIANT);
123.456