try_variant_get
-Funktion
Gilt für: Databricks SQL Databricks Runtime 15.3 und höher
Extrahiert einen Wert vom Typ type
aus variantExpr
, angegeben von path
, oder NULL
, wenn eine Umwandlung in den Zieltyp nicht möglich ist.
Syntax
try_variant_get ( variantExpr, path, type )
Argumente
variantExpr
: EinVARIANT
-Ausdruck.path
: EinSTRING
-Literal mit einem wohlgeformten JSON-Pfadausdruck.type
: EinSTRING
-Literal, das den Typ definiert.
Gibt zurück
Ein Wert vom Typ type
.
Wenn das Objekt nicht gefunden wird oder wenn es nicht in type
umgewandelt werden kann, wird NULL
zurückgegeben.
Um einen Fehler auszugeben, wenn die Umwandlung fehlschlägt, verwenden Sie variant_get.
Beispiele
-- 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