共用方式為


OBJECT 類型

適用於: 核取記號為「是」 Databricks Runtime 15.3 和更新版本

表示 VARIANT 中的值,其中包含一組欄位所描述的結構。

請參閱 STRUCT ,以儲存和處理欄位序列所描述的結構化類型。

重要

OBJECT無法儲存在數據表數據列中。 它只會在呼叫 schema_of_variantschema_of_variant_agg時公開。 若要使用 OBJECT 類型,您必須將它 轉換成 STRUCTMAP

語法

OBJECT < [fieldName [:] fieldType [, ...] ] >
  • fieldName:為欄位命名的識別碼。 名稱必須是唯一的。
  • fieldType:任何數據類型。

限制

此類型支援任意數目大於或等於 0 的欄位。

常值

OBJECT的值無法在 VARIANT 外部建立。 它們是使用 parse_json() 函式將 JSON 字串剖析為 VARIANT 的結果。

備註

範例

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