OBJECT نوع

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

يمثل القيم في VARIANT مع البنية الموضحة بواسطة مجموعة من الحقول.

راجع STRUCT لتخزين ومعالجة الأنواع المنظمة الموضحة بواسطة تسلسل من الحقول.

هام

OBJECT لا يمكن تخزين في عمود جدول. يتم كشفه فقط عند استدعاء schema_of_variant أو schema_of_variant_agg. لاستخدام OBJECT نوع، يجب تحويله إلى STRUCT أو MAP.

بناء الجملة

OBJECT < [fieldName [:] fieldType [, ...] ] >
  • fieldName: معرف يسمي الحقل. يجب أن تكون الأسماء فريدة.
  • fieldType: أي نوع بيانات.

الحدود

يدعم النوع أي عدد من الحقول أكبر أو يساوي 0.

القيم الحرفية

OBJECT لا يمكن إنشاء قيم خارج VARIANT. وهي نتيجة لتحليل سلسلة JSON في VARIANT باستخدام الدالة parse_json().

ملاحظات

الأمثلة

> SELECT schema_of_variant(parse_json('{"key": 123, "data": 5.1 }'));
  OBJECT<data: DECIMAL(2,1), key: BIGINT>

-- Casting from a an OBJECT to a STRUCT is by name, because OBJECT fields are not ordered.
> SELECT CAST(parse_json('{"key": 123, "data": 5.1 }') AS STRUCT<data: DECIMAL(2,1), key: BIGINT>);
  {"data":5.1,"key":123}

> SELECT CAST(parse_json('{"key": 123, "data": 5.1 }') AS STRUCT<key: BIGINT, data: DECIMAL(2,1)>);
  {"key":123, "data":5.1}

> SELECT CAST(parse_json('{"key": 123, "data": 5.1 }') AS MAP<STRING, DECIMAL(20, 1)>);
  {"data":"5.1","key":"123.0"}