共用方式為


schema_of_variant_agg 聚合函數

適用於: 核取記號為「是」 Databricks SQL 核取記號為「是」 Databricks Runtime 15.3 和更新版本

以 DDL 格式傳回群組中所有 VARIANT 值的合併結構描述。

語法

schema_of_variant_agg ( variantExpr ) [FILTER ( WHERE cond ) ]

引數

  • variantExprVARIANT 運算式。
  • cond:選擇性 BOOLEAN 表達式,篩選用於匯總的數據列。

傳回

STRING,包含的variantExpr架構定義。 架構中的類型是衍生格式的 SQL 類型。

每個 VARIANT 值的架構會依域名合併在一起。 當兩個具有相同名稱的字段在記錄之間有不同的類型時,Azure Databricks 會使用最不常見的類型。 當不存在這類類型時,類型會衍生為 VARIANT。 例如,INT和會變成 DOUBLE,而 TIMESTAMP 變成 STRING VARIANTDOUBLE

若要衍生單 VARIANT 一值的架構,請使用 schema_of_variant 函式。

範例

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