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 tematem Struktura do przechowywania i przetwarzania typów strukturalnych opisanych przez sekwencję 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ą one wynikiem analizowania ciągu JSON do VARIANT 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"}