適用於:
Databricks SQL
Databricks Runtime 15.3 和更新版本
從 指定的 variantExpr擷path取 型別的值。
語法
variant_get ( variantExpr, path, type )
引數
-
variantExpr:VARIANT運算式。 -
pathSTRING:具有格式正確的 JSON 路徑運算式的常值。 -
typeSTRING:定義型別的常值。
傳回
型別 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.