Condividi tramite


schema_of_variant_agg funzione di aggregazione

Si applica a: segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 15.3 e versioni successive

Restituisce lo schema combinato di tutti i valori VARIANT in un gruppo in formato DDL.

Sintassi

schema_of_variant_agg ( variantExpr ) [FILTER ( WHERE cond ) ]

Argomenti

  • variantExpr: un’espressione VARIANT.
  • cond: espressione facoltativa BOOLEAN che filtra le righe usate per l'aggregazione.

Valori restituiti

Oggetto STRING contenente una definizione dello schema dell'oggetto variantExpr. I tipi nello schema sono i tipi SQL formattati derivati.

Lo schema di ogni VARIANT valore viene unito in base al nome del campo. Quando due campi con lo stesso nome hanno un tipo diverso tra record, Azure Databricks usa il tipo meno comune. Quando non esiste alcun tipo di questo tipo, il tipo viene derivato come .VARIANT Ad esempio, INT e DOUBLE diventano DOUBLE, mentre TIMESTAMP e STRING diventano VARIANT.

Per derivare lo schema di un singolo VARIANT valore, usare schema_of_variant funzione.

Esempi

-- 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>