Compartir vía


schema_of_variant_agg (función de agregado)

Se aplica a:casilla marcada como Sí Databricks SQL casilla marcada como Sí 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ón VARIANT.
  • cond: Una expresión BOOLEAN 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>