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 niemalsNULList.COLLATEcollationName: Dies gibt optional die Sortierung an, die für einefieldTypevonSTRINGverwendet werden soll.Wenn nicht angegeben, wird die Sortierung vom Kontext übernommen, in dem die
STRUCTdefiniert ist.- Innerhalb eines
CREATEoder einesALTERbei einemTABLE,VIEWoderFUNCTIONentspricht die Standardsortierung der Standardsortierung des betreffendenTABLE,VIEWoderFUNCTION. - Im Kontext einer obersten Ebene UPDATE, DELETE, INSERT, MERGE oder Abfrage-Anweisung ist
UTF8_BINARYdie 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>).name);
SYSTEM.BUILTIN.UNICODE_CI