次の方法で共有


schema_of_variant 関数

適用対象: check marked yes Databricks SQL Databricks Runtime 15.3 以上

DDL 形式の VARIANT 式のスキーマを返します。

構文

schema_of_variant ( variantExpr )

引数

  • variantExpr: VARIANT 式。

返品

variantExpr のスキーマ定義を保持する STRING。 スキーマ内の型は、派生形式の SQL 型です。

VARIANT values のコレクションの集計スキーマを派生させるには、schema_of_variant_agg 集計関数を使用します。

メモ

ARRAY<elementType> のスキーマを決定するときに、データに競合する型が見つかった場合、elementTypeVARIANT として推論される可能性があります。

-- Simple example
> SELECT schema_of_variant(parse_json('{"key": 123, "data": [4, 5]}'))
  OBJECT<data: ARRAY<BIGINT>, key: BIGINT>

-- Conflicting element types in array
> SELECT schema_of_variant(parse_json('{"data": [{"a":"a"}, 5]}'))
  OBJECT<data: ARRAY<VARIANT>>

-- A typed literal
> SELECT schema_of_variant(123.4::VARIANT);
  DECIMAL(4,1)

-- Contrasting schema_of_variant() with typeof()
> SELECT typeof(123.4::VARIANT);
  VARIANT