Функция variant_get
Область применения: Databricks SQL Databricks Runtime 15.3 и более поздних версий
Извлекает значение типа из variantExpr
, указанного path
в .
Синтаксис
variant_get ( variantExpr, path, type )
Аргументы
variantExpr
: ВыражениеVARIANT
.path
STRING
: литерал с хорошо сформированным выражением пути JSON.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.