Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Funkcja
Dotyczy:
Databricks SQL
Databricks Runtime 15.3 lub nowszy
Wyodrębnia wartość typu type z variantExpr, określonej przez path, lub NULL jeśli nie jest możliwe rzutowanie do typu docelowego.
Składnia
try_variant_get ( variantExpr, path, type )
Argumenty
-
variantExprVARIANT: wyrażenie. -
pathSTRING: literał z dobrze sformułowanym wyrażeniem ścieżki JSON. -
typeSTRING: literał definiujący typ.
Zwraca
Wartość typu type.
Jeśli nie można odnaleźć obiektu lub nie można go rzutować na type, NULL jest zwracany.
Aby zgłosić błąd, gdy rzutowanie kończy się niepowodzeniem, użyj variant_get.
Przykłady
-- 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