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 nuncaNULL
es .COLLATE
collationName: especifica opcionalmente la intercalación que se va a usar para unfieldType
deSTRING
.Si no se especifica, la intercalación se hereda del contexto en el que se define el
STRUCT
.- Dentro de un
CREATE
o unALTER
de unTABLE
, unVIEW
o unFUNCTION
, la intercalación predeterminada coincide con la intercalación predeterminada de eseTABLE
,VIEW
oFUNCTION
. - 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>)
UNICODE_CI