Freigeben über


OBJECT -Typ

Gilt für: Häkchen gesetzt ja Databricks Runtime 15.3 und höher

Stellt Werte in VARIANT mit der Struktur dar, die von einer Gruppe von Feldern beschrieben wird

Weitere Informationen zum Speichern und Verarbeiten strukturierter Typen, die durch eine Gruppe von Feldern beschrieben werden, finden Sie unter STRUCT.

Wichtig

Das OBJECT kann nicht in einer Tabellenspalte gespeichert werden. Es wird nur beim Aufrufen von schema_of_variant oder schema_of_variant_agg verfügbar gemacht. Um einen OBJECT-Typ zu verwenden, müssen Sie ihn in STRUCT oder MAP umwandeln.

Syntax

OBJECT < [fieldName [:] fieldType [, ...] ] >
  • fieldName: Ein Bezeichner, der das Feld benennt. Die Namen müssen eindeutig sein.
  • fieldType: Beliebiger Datentyp.

Grenzwerte

Der Typ unterstützt eine beliebige Anzahl von Feldern größer oder gleich 0.

Literale

Werte von OBJECT können nicht außerhalb von VARIANT erstellt werden. Sie sind das Ergebnis des Parsens einer JSON-Zeichenfolge in eine VARIANT mithilfe der parse_json()-Funktion.

Hinweise

Beispiele

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