Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Tipo de
Se aplica a:
Databricks SQL
Databricks Runtime
Representa valores con la estructura descrita por una secuencia de campos.
Sintaxis
STRUCT < [fieldName [:] fieldType [NOT NULL] [COLLATE collationName] [COMMENT str] [, …] ] >
fieldName: identificador que designa el campo. Los nombres no tienen que ser únicos.fieldType: cualquier tipo de datos.NOT NULL: cuando se especifica, la estructura garantiza que el valor de este campo nuncaNULLes .COLLATEcollationName: especifica opcionalmente la intercalación que se va a usar para unfieldTypedeSTRING.Si no se especifica, la intercalación se hereda del contexto en el que se define el
STRUCT.- Dentro de un
CREATEo unALTERde unTABLE, unVIEWo unFUNCTION, la intercalación predeterminada coincide con la intercalación predeterminada de eseTABLE,VIEWoFUNCTION. - Dentro del contexto de un UPDATE de nivel superior, DELETE, INSERT, MERGE o instrucción de consulta, la intercalación predeterminada es
UTF8_BINARY.
- Dentro de un
COMMENT str: literal de cadena opcional que describe el campo.
Límites
El tipo admite cualquier número de campos mayor o igual que 0.
Literales
Consulte struct función y named_struct función para obtener más información sobre cómo generar valores de matriz literales.
Ejemplos
> 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