Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
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
- So können Sie ein
OBJECTextrahieren:-
variant_getvariant_get-Funktion mithilfe eines JSON-Pfadausdrucks, um zum TypOBJECTzu navigieren -
:-Operator (Doppelpunkt), umOBJECTmithilfe eines JSON-Pfadausdrucks zu parsen -
try_variant_get-Funktion mit einem JSON-Pfad, um zu einemOBJECTTyp mit Fehlertoleranz zu navigieren -
cast-Funktion oder::-Operator (Doppelpunktzeichen), umOBJECTin STRUCT oder MAP umzuwandeln. -
try_cast-Funktion oder?::(Frage-Doppelpunkt-Operator), umOBJECTin eine STRUCT oder MAP zu casten.
-
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"}