Udostępnij za pośrednictwem


Funkcja variant_get

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 15.3 i nowsze

Wyodrębnia wartość typu z variantExprklasy , określoną przez path.

Składnia

variant_get ( variantExpr, path, type )

Argumenty

  • variantExprVARIANT: wyrażenie.
  • pathSTRING: literał z dobrze sformułowanym wyrażeniem ścieżki JSON.
  • typeSTRING: 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.