Udostępnij za pośrednictwem


Typ: OBJECT

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

Reprezentuje values w VARIANT ze strukturą opisaną przez set 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 tablecolumn. 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: Nazwa pola przez identifier. Nazwy muszą być unikatowe.
  • fieldType: dowolny typ danych.

Limity

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

Literały

Values OBJECT nie może być utworzony 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"}