Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Typ:
Gäller för:
Databricks SQL
Databricks Runtime
Representerar värden med den struktur som beskrivs av en sekvens med fält.
Syntax
STRUCT < [fieldName [:] fieldType [NOT NULL] [COLLATE collationName] [COMMENT str] [, …] ] >
fieldName: En identifierare som namnger fältet. Namnen behöver inte vara unika.fieldType: Alla datatyper.NOT NULL: När det är angivet garanterar strukturen att värdet för det här fältet aldrig ärNULL.COLLATEcollationName: Detta anger eventuellt vilken sortering som ska användas för enfieldTypeavSTRING.Om inte anges ärvs sorteringen från kontexten där
STRUCTdefinieras:- Inom en
CREATEellerALTERav enTABLE,VIEWellerFUNCTION, matchar den standardsorteringen standardsorteringen för detTABLE,VIEWellerFUNCTION. - I kontexten av ett toppnivå UPDATE , DELETE, INSERT, MERGE eller frågekommando är standardsorteringen
UTF8_BINARY.
- Inom en
COMMENT str: En valfri strängliteral som beskriver fältet.
Gränser
Typen stöder valfritt antal fält som är större eller lika med 0.
Literaler
Mer information om hur du skapar matrisvärden finns i struct funktion och named_struct funktion.
Exempel
> 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