Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
Databricks SQL
Databricks Runtime
Vertegenwoordigt waarden met de structuur die wordt beschreven door een reeks velden.
Syntaxis
STRUCT < [fieldName [:] fieldType [NOT NULL] [COLLATE collationName] [COMMENT str] [, …] ] >
fieldName: een identificatie die het veld benoemt. De namen hoeven niet uniek te zijn.fieldType: elk gegevenstype.NOT NULL: Als dit wordt gespecificeerd, garandeert de structuur dat de waarde van dit veld nooitNULLis.COLLATEcollationName: hiermee kunt u optioneel aangeven welke sortering moet worden gebruikt voor eenfieldTypevanSTRING.Als niet is opgegeven, wordt de sortering overgenomen van de context waarin de
STRUCTis gedefinieerd:- Binnen een
CREATEofALTERvan eenTABLE,VIEW, ofFUNCTION, komt de standaardsortering overeen met de standaardsortering van dieTABLE,VIEW, ofFUNCTION. - In de context van een top-level UPDATE, een DELETE, INSERT, MERGE of query-opdracht is de standaardsortering
UTF8_BINARY.
- Binnen een
COMMENT str: Een optionele letterlijke tekenreeks die het veld beschrijft.
Limieten
Het type ondersteunt een willekeurig aantal velden groter of gelijk aan 0.
Letterlijke waarden
Zie struct functie en named_struct functie voor meer informatie over het produceren van letterlijke matrixwaarden.
Voorbeelden
> 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