Funktionen try_variant_get
Gäller för: Databricks SQL
Databricks Runtime 15.3 och senare
Extraherar ett värde av typen type
från variantExpr
, som anges av path
, eller NULL
om det inte går att casta till måltypen.
Syntax
try_variant_get ( variantExpr, path, type )
Argument
variantExpr
: EttVARIANT
uttryck.path
: EnSTRING
literal med ett välformat JSON-sökvägsuttryck.type
: EnSTRING
literal som definierar typen.
Returer
Ett värde av typen type
.
Om det inte går att hitta objektet eller om det inte kan gjutas till type
NULL
returneras det.
Använd variant_get om du vill skapa ett fel när gjutningen misslyckas.
Exempel
-- 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