schema_of_variant_agg
mängdfunktion
Gäller för: Databricks SQL
Databricks Runtime 15.3 och senare
Returnerar det kombinerade schemat för alla VARIANT
värden i en grupp i DDL-format.
Syntax
schema_of_variant_agg ( variantExpr ) [FILTER ( WHERE cond ) ]
Argument
-
variantExpr
: EttVARIANT
uttryck. -
cond
: Ett valfrittBOOLEAN
uttryck som filtrerar de rader som används för aggregering.
Returer
En STRING
som innehåller en schemadefinition av variantExpr
.
Typerna i schemat är de härledda formaterade SQL-typerna.
Schemat för varje VARIANT
värde sammanfogas med fältnamn. När två fält med samma namn har en annan typ mellan poster använder Azure Databricks den minst vanliga typen.
När det inte finns någon sådan typ härleds typen som en VARIANT
. Till exempel INT
och DOUBLE
bli DOUBLE
, medan TIMESTAMP
och STRING
blir VARIANT
.
Om du vill härleda schemat för ett enda VARIANT
värde använder du funktionen schema_of_variant .
Exempel
-- 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>