schema_of_variant_agg
聚合函數
適用於: Databricks SQL Databricks Runtime 15.3 和更新版本
以 DDL 格式傳回群組中所有 VARIANT
值的合併結構描述。
語法
schema_of_variant_agg ( variantExpr ) [FILTER ( WHERE cond ) ]
引數
variantExpr
:VARIANT
運算式。cond
:選擇性BOOLEAN
表達式,篩選用於匯總的數據列。
傳回
STRING
,包含的variantExpr
架構定義。
架構中的類型是衍生格式的 SQL 類型。
每個 VARIANT
值的架構會依域名合併在一起。 當兩個具有相同名稱的字段在記錄之間有不同的類型時,Azure Databricks 會使用最不常見的類型。
當不存在這類類型時,類型會衍生為 VARIANT
。 例如,INT
和會變成 DOUBLE
,而 TIMESTAMP
變成 STRING
VARIANT
DOUBLE
。
若要衍生單 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>