variant_get
関数
適用対象: Databricks SQL Databricks Runtime 15.3 以降
path
で指定された variantExpr
から型の値を抽出します。
構文
variant_get ( variantExpr, path, type )
引数
variantExpr
:VARIANT
式。path
: 適切な形式の JSON パス式を持つSTRING
リテラル。type
: 型を定義するSTRING
リテラル。
返品
type
型の値。
オブジェクトが見つからない場合は、NULL
が返されます。
オブジェクトが見つかったが、目的の型にキャストできない場合、Azure Databricks によって INVALID_VARIANT_CAST
が発生します。
エラーではなく NULL
を返すようにするには、try_variant_get 関数を使用します。
例
-- Simple example
> SELECT variant_get(parse_json('{"key": 123, "data": [4, {"a": "hello"}, "str"]}'), '$.data[1].a', 'string')
hello
-- missing path
> SELECT variant_get(parse_json('{"key": 123, "data": [4, {"a": "hello"}, "str"]}'), '$.missing', 'int')
null
-- Invalid cast
> SELECT variant_get(parse_json('{"key": 123, "data": [4, {"a": "hello"}, "str"]}'), '$.key', 'array<int>')
Error: INVALID_VARIANT_CAST.