Funktionen variant_get
Gäller för: Databricks SQL
Databricks Runtime 15.3 och senare
Extraherar ett värde av typen från variantExpr
, som anges av path
.
Syntax
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 NULL
objektet returneras.
Om objektet hittas men inte kan omvandlas till önskad typ genererar Azure Databricks INVALID_VARIANT_CAST.
Om du vill returnera NULL
i stället för ett fel använder du funktionen try_variant_get .
Exempel
-- 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.