Freigeben über


variant_get-Funktion

Gilt für:mit einem Häkchen markiert: ja Databricks SQL mit einem Häkchen markiert: ja Databricks Runtime 15.3 und höher

Extrahiert einen Wert des Typs aus variantExpr, von path angegeben.

Syntax

variant_get ( variantExpr, path, type )

Argumente

  • variantExpr: Ein VARIANT-Ausdruck.
  • path: Ein STRING-Literal mit einem wohlgeformten JSON-Pfadausdruck.
  • type: Ein STRING-Literal, das den Typ definiert.

Gibt zurück

Ein Wert vom Typ type.

Wenn das Objekt nicht gefunden wird, wird NULL zurückgegeben. Wenn das Objekt gefunden, aber nicht in den gewünschten Typ gegossen werden kann, löst Azure Databricks INVALID_VARIANT_CAST aus. Um anstelle eines Fehlers NULL zurückzugeben, verwenden Sie die try_variant_get-Funktion.

Häufige Fehlerbedingungen

Beispiele

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