Bagikan melalui


OBJECT tipe

Berlaku untuk:dicentang ya Databricks Runtime 15.3 ke atas

Mewakili nilai dalam VARIAN dengan struktur yang dijelaskan oleh sekumpulan bidang.

Lihat STRUCT untuk menyimpan dan memproses jenis terstruktur yang dijelaskan oleh urutan bidang.

Penting

OBJECT tidak dapat disimpan dalam kolom tabel. Ini hanya diekspos saat memanggil schema_of_variant atau schema_of_variant_agg. Untuk menggunakan tipe OBJECT, Anda harus mengonversinya ke STRUCT atau MAP.

Sintaks

OBJECT < [fieldName [:] fieldType [, ...] ] >
  • fieldName: Pengidentifikasi untuk menamai bidang. Nama harus unik.
  • fieldType: Jenis data apa pun.

Batas

Jenis ini mendukung sejumlah bidang yang lebih besar atau sama dengan 0.

Harfiah

Nilai OBJECT tidak dapat dibuat di luar varian . Mereka adalah hasil dari penguraian string JSON ke dalam VARIANT menggunakan fungsi parse_json().

Catatan

Contoh

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