Sdílet prostřednictvím


Typ OBJECT

Platí pro:zaškrtnutí označeného ano Databricks Runtime 15.3 a novější

Představuje hodnoty v VARIANT se strukturou popsanou sadou polí.

Informace o ukládání a zpracování strukturovaných typů popsaných v posloupnosti polí najdete v části STRUCT .

Důležité

OBJECT nelze uložit ve sloupci tabulky. Zobrazí se pouze při volání schema_of_variant nebo schema_of_variant_agg. Chcete-li použít OBJECT typ, musíte jej přetypovat na strukturu nebo MAPOVÁNÍ.

Syntaxe

OBJECT < [fieldName [:] fieldType [, ...] ] >
  • fieldName: Identifikátor pojmenovávající pole. Názvy musí být jedinečné.
  • fieldType: Libovolný datový typ.

Omezení

Typ podporuje libovolný počet polí větších nebo rovnajících se 0.

Literály

Hodnoty OBJECT nelze vytvořit mimo VARIANT. Jedná se o výsledek analýzy řetězce JSON do VARIANT funkce parse_json().

Notes

Příklady

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