variant_get 関数

適用対象: check marked yes 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.