schema_of_variant_agg
(función de agregado)
Se aplica a: Databricks SQL Databricks Runtime 15.3 y versiones posteriores
Devuelve el esquema combinado de todos los valores de VARIANT
en un grupo en formato DDL.
Sintaxis
schema_of_variant_agg ( variantExpr ) [FILTER ( WHERE cond ) ]
Argumentos
variantExpr
: expresiónVARIANT
.cond
: Una expresiónBOOLEAN
opcional que filtra las filas usadas para la agregación.
Devoluciones
Un STRING
que contiene una definición de esquema del variantExpr
.
Los tipos del esquema son los tipos SQL con formato derivado.
El esquema de cada valor de VARIANT
se combina conjuntamente por nombre de campo. Cuando dos campos con el mismo nombre tienen un tipo diferente entre registros, Azure Databricks usa el tipo menos común.
Cuando no hay tal tipo, se deriva como VARIANT
. Por ejemplo, INT
y DOUBLE
se convierten en DOUBLE
mientras que TIMESTAMP
y STRING
se convierte en VARIANT
.
Para derivar el esquema de un valor único VARIANT
, use la función schema_of_variant.
Ejemplos
-- Simple example
> SELECT schema_of_variant_agg(a) FROM VALUES(parse_json('{"foo": "bar"}')) AS data(a);
OBJECT<foo: STRING>
> SELECT schema_of_variant_agg(a) FROM VALUES(parse_json('[1]')) AS data(a);
ARRAY<BIGINT>
> CREATE TEMPORARY VIEW data(a) AS VALUES
(parse_json('{"foo": "bar", "wing": {"ding": "dong"}}')),
(parse_json('{"wing": 123}'));
> SELECT schema_of_variant_agg(a) FROM data;
OBJECT<foo: STRING, wing: VARIANT>