Udostępnij za pośrednictwem


Funkcja try_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 type z variantExpr, określonej przez path, lub NULL jeśli nie jest możliwe rzutowanie do typu docelowego.

Składnia

try_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 lub nie można go rzutować na type, NULL jest zwracany. Aby zgłosić błąd, gdy rzutowanie kończy się niepowodzeniem, użyj variant_get.

Przykłady

-- 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', 'array<int>')
  null