適用対象:
Databricks SQL
Databricks Runtime 15.3以降
グループ内のすべての VARIANT 値を結合したスキーマを DDL 形式で返します。
構文
schema_of_variant_agg ( variantExpr ) [FILTER ( WHERE cond ) ]
引数
-
variantExpr:VARIANT式。 -
cond: 集計に使用される行をフィルター処理するBOOLEAN式 (省略可能)。
返品
STRING のスキーマ定義を保持する variantExpr。
スキーマ内の型は、導出された書式設定済みの SQL 型です。
VARIANT の値それぞれのスキーマは、フィールド名別にマージされます。 同じ名前の 2 つのフィールドの種類がレコード間で異なる場合、Azure Databricks では最も一般的でない型が使用されます。
このような型が存在しない場合、型は VARIANT として派生します。 たとえば、 INT と DOUBLE は DOUBLE になり、TIMESTAMP と STRING は VARIANT になります。
単一の 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>