Funkce variant_get
Platí pro: Databricks SQL
Databricks Runtime 15.3 a novější
Extrahuje hodnotu typu ze variantExpr
zadaného parametrem path
.
Syntaxe
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 nebyl nalezen, NULL
vrátí se.
Pokud se objekt najde, ale nelze jej přetypovat na požadovaný typ, Azure Databricks vyvolá INVALID_VARIANT_CAST.
Pokud se chcete vrátit NULL
místo chyby, použijte funkci try_variant_get .
Příklady
-- 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.