Freigeben über


variant_get-Funktion

Gilt für: Häkchen gesetzt ja Databricks SQL Häkchen gesetzt 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 wird, aber nicht in den gewünschten Typ umgewandelt werden kann, löst Azure Databricks INVALID_VARIANT_CAST aus. Um anstelle eines Fehlers NULL zurückzugeben, verwenden Sie die try_variant_get-Funktion.

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.