Delen via


schema_of_variant_agg statistische functie

Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 15.3 en hoger

Retourneert het gecombineerde schema van alle VARIANT waarden in een groep in DDL-indeling.

Syntaxis

schema_of_variant_agg ( variantExpr ) [FILTER ( WHERE cond ) ]

Argumenten

  • variantExpr: Een VARIANT expressie.
  • cond: Een optionele BOOLEAN expressie die de rijen filtert die worden gebruikt voor aggregatie.

Retouren

Een STRING die een schemadefinitie van de variantExprbevat. De typen in het schema zijn de afgeleide, opgemaakte SQL-typen.

Het schema van elke VARIANT waarde wordt samengevoegd met de veldnaam. Wanneer twee velden met dezelfde naam een ander type voor records hebben, wordt in Azure Databricks het minst gangbare type gebruikt. Als er geen dergelijk type bestaat, wordt het type afgeleid als een VARIANT. Bijvoorbeeld, INT en DOUBLE word DOUBLE, terwijl TIMESTAMP en STRING wordt VARIANT.

Gebruik VARIANT functie om het schema van één waarde af te leiden.

Voorbeelden

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