Funkcja variant_get
Dotyczy: Databricks SQL Databricks Runtime 15.3 i nowsze
Wyodrębnia wartość typu z variantExpr
klasy , określoną przez path
.
Składnia
variant_get ( variantExpr, path, type )
Argumenty
variantExpr
VARIANT
: wyrażenie.path
STRING
: literał z dobrze sformułowanym wyrażeniem ścieżki JSON.type
STRING
: literał definiujący typ.
Zwraca
Wartość typu type
.
Jeśli nie można odnaleźć obiektu, NULL
zostanie zwrócony.
Jeśli obiekt zostanie znaleziony, ale nie można go rzutować do żądanego typu, usługa Azure Databricks zgłasza wartość INVALID_VARIANT_CAST
.
Aby zwrócić NULL
zamiast błędu, użyj funkcji try_variant_get .
Przykłady
-- 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.