Dela via


Funktionen try_variant_get

Gäller för: markerad ja Databricks SQL markerad ja Databricks Runtime 15.3 och senare

Extraherar ett värde av typen type från variantExpr, som anges av path, eller NULL om det inte går att casta till måltypen.

Syntax

try_variant_get ( variantExpr, path, type )

Argument

  • variantExpr: Ett VARIANT uttryck.
  • path: En STRING literal med ett välformat JSON-sökvägsuttryck.
  • type: En STRING literal som definierar typen.

Returer

Ett värde av typen type.

Om det inte går att hitta objektet eller om det inte kan gjutas till typeNULL returneras det. Använd variant_get om du vill skapa ett fel när gjutningen misslyckas.

Exempel

-- 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