مشاركة عبر


try_variant_get دالة

ينطبق على: وضع علامة Databricks SQL وضع علامة Databricks Runtime 15.3 والإحدث

استخراج قيمة من نوع type من variantExpr، محددة بواسطة path، أو NULL إذا لم يكن من الممكن تحويلها إلى النوع الهدف.

بناء الجملة

try_variant_get ( variantExpr, path, type )

الوسيطات

  • variantExpr: تعبير VARIANT .
  • pathSTRING: قيمة حرفية مع تعبير مسار JSON جيد التكوين.
  • typeSTRING: قيمة حرفية تحدد النوع.

المرتجعات

قيمة من النوع type.

إذا تعذر العثور على الكائن أو تعذر تحويله إلى type، NULL يتم إرجاع . لرفع خطأ عند فشل الإرسال، استخدم variant_get.

الأمثلة

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