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 SQL
Databricks Runtime
Stellt Werte mit der Struktur dar, die von einer Sequenz von Feldern beschrieben wird.
Syntax
STRUCT < [fieldName [:] fieldType [NOT NULL] [COLLATE collationName] [COMMENT str] [, …] ] >
fieldName
: Ein Bezeichner, der das Feld benennt. Die Namen müssen eindeutig sein.fieldType
: Beliebiger Datentyp.NOT NULL
: Wenn angegeben, garantiert die Struktur, dass der Wert dieses Felds niemalsNULL
ist.COLLATE
collationName: Dies gibt optional die Sortierung an, die für einefieldType
vonSTRING
verwendet werden soll.Wenn nicht angegeben, wird die Sortierung vom Kontext übernommen, in dem die
STRUCT
definiert ist.- Innerhalb eines
CREATE
oder einesALTER
bei einemTABLE
,VIEW
oderFUNCTION
entspricht die Standardsortierung der Standardsortierung des betreffendenTABLE
,VIEW
oderFUNCTION
. - Im Kontext einer obersten Ebene UPDATE, DELETE, INSERT, MERGE oder Abfrage-Anweisung ist
UTF8_BINARY
die Standardsortierung.
- Innerhalb eines
COMMENT str
: Ein optionales Zeichenfolgenliteral, das das Feld beschreibt.
Grenzwerte
Der Typ unterstützt eine beliebige Anzahl von Feldern größer oder gleich 0.
Literale
Ausführliche Informationen zur Erzeugung von Literal-Array-Werten finden Sie unter struct
Funktion und named_struct
Funktion.
Beispiele
> SELECT struct('Spark', 5);
{Spark, 5}
> SELECT typeof(named_struct('Field1', 'Spark', 'Field2', 5));
struct<Field1:string,Field2:int>
> SELECT typeof(struct('Spark', 5));
struct<col1:string,col2:int>
> SELECT typeof(CAST(NULL AS STRUCT<Field1:INT NOT NULL COMMENT 'The first field.',Field2:ARRAY<INT>>));
struct<Field1:int,Field2:array<int>>
> SELECT collation(cast(struct('hello')) AS STRUCT<name STRING COLLATE UNICODE_CI>)
UNICODE_CI