Tipo deVARIANT
Se aplica a: Databricks Runtime 15.3 y versiones posteriores
Representa datos semiestructurados.
Sintaxis
VARIANT
Límites
El tipo admite el almacenamiento de datos semiestructurados, incluidos STRUCT
, ARRAY
, MAP
y tipos escalares.
VARIANT
solo puede almacenar tipos MAP
con claves de tipo STRING
.
Literales
Consulte la función parse_json función para obtener más información sobre cómo crear un valor VARIANT
.
También puede usar la función CAST
para convertir un literal de algún tipo en VARIANT
.
Notas
- Para extraer un valor de un tipo
VARIANT
puede usar lo siguiente:- La función variant_get mediante una expresión de ruta de acceso JSON para navegar al tipo complejo.
- El operador : (signo de dos puntos) para analizar el tipo
VARIANT
mediante una expresión de ruta de acceso JSON. - La función try_variant_get mediante una ruta de acceso JSON para navegar a un tipo complejo con tolerancia a errores.
- La función cast o el operador :: (signo de dos puntos) para convertir el tipo
VARIANT
en un tipo específico. - La función try_cast para convertir el tipo
VARIANT
a un tipo específico con tolerancia a errores.
- Para inspeccionar el tipo de un valor
VARIANT
, use lo siguiente:- La función schema_of_variant para un valor individual.
- La función de agregado schema_of_variant_agg para una colección de valores.
Ejemplos
> 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