Funkce try_variant_get
Platí pro: Databricks SQL Databricks Runtime 15.3 a novější
Extrahuje hodnotu typu ze variantExpr
zadaného path
typu type
nebo NULL
pokud není možné přetypovat na cílový typ.
Syntaxe
try_variant_get ( variantExpr, path, type )
Argumenty
variantExpr
: VýrazVARIANT
.path
STRING
: Literál s výrazem cesty JSON ve správném formátu.type
STRING
: Literál definující typ.
Návraty
Hodnota typu type
.
Pokud objekt nelze najít nebo jej nelze přetypovat na type
, NULL
je vrácen.
K vyvolání chyby při selhání přetypování použijte variant_get.
Příklady
-- 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