Megosztás a következőn keresztül:


A try_variant_get függvény

A következőre vonatkozik:igen Databricks SQL igen Databricks Runtime 15.3 és újabb

Kinyer egy típusértéket type a megadott értékből variantExpr, pathvagy NULL ha nem lehet a céltípusra leadni.

Szemantika

try_variant_get ( variantExpr, path, type )

Argumentumok

  • variantExpr: Kifejezés VARIANT .
  • path: Egy STRING jól formázott JSON-elérési útkifejezéssel rendelkező literál.
  • type: A STRING típust meghatározó literál.

Válaszok

Típusérték type.

Ha az objektum nem található, vagy nem hajtható typevégre, NULL a rendszer visszaadja. Ha hibát szeretne jelezni, ha a leadás sikertelen, használja a variant_get.

Példák

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