Udostępnij za pośrednictwem


Typ: OBJECT

Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks Runtime 15.3 lub nowszy

Wartości w VARIANT są reprezentowane przez strukturę opisaną za pomocą zestawu pól.

Zapoznaj się z STRUKTURA w celu przechowywania i przetwarzania typów strukturalnych opisanych jako sekwencja pól.

Ważne

Nie można przechowywać OBJECT w kolumnie tabeli. Jest on ujawniany tylko podczas wywoływania schema_of_variant lub schema_of_variant_agg. Aby użyć OBJECT typu, należy rzutować go na STRUKTURĘ lub MAPĘ.

Składnia

OBJECT < [fieldName [:] fieldType [, ...] ] >
  • fieldName: identyfikator nazewnictwa pola. Nazwy muszą być unikatowe.
  • fieldType: dowolny typ danych.

Limity

Typ obsługuje dowolną liczbę pól większej lub równej 0.

Literały

Wartości OBJECT nie można tworzyć poza WARIANTEM. Są wynikiem przekształcenia ciągu JSON w VARIANT za pomocą funkcji parse_json().

Uwagi

Przykłady

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