Aracılığıyla paylaş


try_variant_get işlevi

Şunun için geçerlidir:işaretlenen evet Databricks SQL işaretlenen evet Databricks Runtime 15.3 ve üzeri

tarafından belirtilen typeveya variantExpr hedef türe pathNULLatanması mümkün değilse türünden bir değer ayıklar.

Söz dizimi

try_variant_get ( variantExpr, path, type )

Bağımsız değişkenler

  • variantExpr: İfade VARIANT .
  • path: İyi biçimlendirilmiş bir STRING içeren bir değişmez değer.
  • type STRING: Türü tanımlayan değişmez değer.

Döndürülenler

türünde typebir değer.

Nesne bulunamazsa veya öğesine yayınlanamazsa typeNULL döndürülür. Atama başarısız olduğunda hata oluşturmak için variant_get kullanın.

Örnekler

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