Dela via


Funktionen variant_get

Gäller för:markerad ja Databricks SQL markerad ja 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: 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 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.