Sdílet prostřednictvím


Funkce try_variant_get

Platí pro: zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime 15.3 a novější

Extrahuje hodnotu typu ze variantExprzadaného pathtypu type nebo NULL pokud není možné přetypovat na cílový typ.

Syntaxe

try_variant_get ( variantExpr, path, type )

Argumenty

Návraty

Hodnota typu type.

Pokud objekt nelze najít nebo jej nelze přetypovat na type, NULL je vrácen. K vyvolání chyby při selhání přetypování použijte variant_get.

Příklady

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