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 de gecombineerde schema van alle VARIANTvalues 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 met een schema definitie van de variantExpr. De typen in de schema zijn de afgeleide, opgemaakte SQL-typen.

De schema van elke VARIANT waarde wordt samengevoegd per 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.

Als u de schema van één VARIANT waarde wilt afleiden, gebruikt u schema_of_variant functie.

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>