Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:
Databricks SQL
Databricks Runtime
Mewakili nilai dengan struktur yang dijelaskan oleh urutan bidang.
Sintaks
STRUCT < [fieldName [:] fieldType [NOT NULL] [COLLATE collationName] [COMMENT str] [, …] ] >
fieldName: Pengidentifikasi yang digunakan untuk menamai bidang. Nama tersebut tidak harus unik.fieldType: Jenis data apa pun.NOT NULL: Jika ditentukan, struktur menjamin bahwa nilai bidang ini tidak pernahNULL.COLLATEcollationName: Ini menentukan pengurutan yang akan digunakan untukfieldTypedariSTRINGsecara opsional.Jika tidak ditentukan, kolase diwariskan dari konteks di mana
STRUCTditentukan:- Dalam
CREATEatauALTERdariTABLE,VIEWatauFUNCTION, kolasi default cocok dengan kolasi default dariTABLE,VIEW, atauFUNCTION. - Dalam konteks tingkat atas UPDATE, HAPUS, INSERT, MERGE atau pernyataan kueri kolatasi default adalah
UTF8_BINARY.
- Dalam
COMMENT str: Literal string opsional yang menggambarkan bidang.
Batas
Jenis ini mendukung sejumlah bidang yang lebih besar atau sama dengan 0.
Harfiah
Lihat fungsi struct dan fungsi named_struct untuk detail tentang cara menghasilkan nilai array harfiah.
Contoh
> 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