VARIANT
型
適用対象: Databricks Runtime 15.3 以降
半構造化データを表します。
構文
VARIANT
制限
この型では、STRUCT
、ARRAY
、MAP
、スカラー型など、半構造化データの格納がサポートされています。
VARIANT
は、STRING
型のキーを持つ MAP
型のみを格納できます。
リテラル
VARIANT
値の作成の詳細については parse_json function 関数を参照してください。
CAST
関数を使用して、何らかの型のリテラルを VARIANT
に変換することもできます。
メモ
VARIANT
から値を抽出するには- JSON パス式を使用する variant_get 関数によって複合型に移動する。
- JSON パス式を使用する : (コロン記号) 演算子によって
VARIANT
を解析する。 - JSON パスを使用する try_variant_get 関数によってエラーを許容しながら複合型に移動する。
- cast 関数または :: (コロン コロン記号) 演算子によって
VARIANT
を特定の型にキャストする。 - try_cast 関数によって エラーを許容しながら特定の型に
VARIANT
をキャストする。
VARIANT
値の型を調べるには- 個々の値について schema_of_variant 関数を使用する。
- 値のコレクションについて schema_of_variant_agg 集計関数を使用する。
例
> SELECT parse_json('{"key": 123, "data": [4, 5, "str"]}');
{"data":[4,5,"str"],"key":123}
> SELECT parse_json(null);
null
> SELECT parse_json('123');
123
> SELECT CAST(123.456 AS VARIANT);
123.456