try_variant_get 関数

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

path で指定されている、variantExpr からの type 型の値を抽出するか、ターゲット型にキャストできない場合は NULL を抽出します。

構文

try_variant_get ( variantExpr, path, type )

引数

  • variantExpr: VARIANT 式。
  • path: 適切な形式の JSON パス式を持つ STRING リテラル。
  • type: 型を定義する STRING リテラル。

返品

type 型の値。

オブジェクトが見つからないか、type にキャストできない場合は、NULL が返されます。 キャストが失敗したときにエラーを発生させるには、variant_get を使用します。

-- Simple example
> SELECT try_variant_get(parse_json('{"key": 123, "data": [4, {"a": "hello"}, "str"]}'), '$.data[1].a', 'string')
  hello

-- missing path
> SELECT try_variant_get(parse_json('{"key": 123, "data": [4, {"a": "hello"}, "str"]}'), '$.missing', 'int')
  null

-- Invalid cast
> SELECT try_variant_get(parse_json('{"key": 123, "data": [4, {"a": "hello"}, "str"]}'), '$.key', 'array<int>')
  null