Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция
Применяется для:
Databricks SQL
Databricks Runtime 15.3 и выше
Извлекает значение типа type из variantExpr, указанного pathили NULL если невозможно приведения к целевому типу.
Синтаксис
try_variant_get ( variantExpr, path, type )
Аргументы
-
variantExpr: ВыражениеVARIANT. -
pathSTRING: литерал с хорошо сформированным выражением пути JSON. -
typeSTRING: литерал, определяющий тип.
Возвраты
Значение типа 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', 'boolean')
null
-- These are synonymous to:
> SELECT '{"key": 123, "data": [4, {"a": "hello"}, "str"]}':data[1].a ?::STRING;
hello
> SELECT '{"key": 123, "data": [4, {"a": "hello"}, "str"]}':missing ?::STRING;
null
> SELECT '{"key": 123, "data": [4, {"a": "hello"}, "str"]}':key ?::BOOLEAN;
null