Nama kolase Windows (Transact-SQL)
Berlaku untuk: Titik akhir analitik SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System (PDW) SQL di Microsoft Fabric Warehouse di Microsoft Fabric
Menentukan nama kolase Windows dalam COLLATE
klausa di SQL Server. Nama kolase Windows terdiri dari penunjuk kolase dan gaya perbandingan.
Sintaks
<Windows_collation_name> ::=
<CollationDesignator>_<ComparisonStyle>
<ComparisonStyle> ::=
{ <CaseSensitivity>_<AccentSensitivity> [ _<KanatypeSensitive> ] [ _<WidthSensitive> ] [ _<VariationSelectorSensitive> ]
}
| { _UTF8 }
| { _BIN | _BIN2 }
Argumen
CollationDesignator
Menentukan aturan kolaterasi dasar yang digunakan oleh kolatasi Windows. Aturan kolase dasar mencakup:
- Aturan pengurutan dan perbandingan yang diterapkan saat pengurutan kamus ditentukan. Aturan pengurutan didasarkan pada alfabet atau bahasa.
- Halaman kode yang digunakan untuk menyimpan data varchar .
Beberapa contohnya adalah:
Latin1_General
atauFrench
: keduanya menggunakan halaman1252
kode .Turkish
: menggunakan halaman1254
kode .
CaseSensitivity
CI
menentukan peka huruf besar/kecil, CS
menentukan peka huruf besar/kecil.
AksenSensitivitas
AI
menentukan aksen-tidak sensitif, AS
menentukan aksen-sensitif.
KanatypeSensitive
Menghilangkan opsi ini menentukan kanatype-tidak sensitif, KS
menentukan kanatype-sensitif.
WidthSensitivity
Menghilangkan opsi ini menentukan lebar-tidak sensitif, WS
menentukan peka lebar.
VariasiSelectorSensitivity
Berlaku untuk: SQL Server 2017 (14.x) dan versi yang lebih baru
Menghilangkan opsi ini menentukan variasi selector-insensitive, VSS
menentukan variasi selector-sensitive.
UTF8
Berlaku untuk: SQL Server 2019 (15.x) dan versi yang lebih baru
Menentukan pengodean UTF-8 yang akan digunakan untuk jenis data yang memenuhi syarat. Untuk informasi selengkapnya, lihat Dukungan Collation dan Unicode.
{ BIN | BIN2 }
BIN
menentukan urutan pengurutan biner yang kompatibel dengan mundur yang akan digunakan.BIN2
menentukan urutan pengurutan biner yang menggunakan semantik perbandingan titik kode.
Keterangan
Bergantung pada versi kolase, beberapa titik kode mungkin tidak memiliki bobot pengurutan, atau pemetaan huruf besar/kecil yang ditentukan. Misalnya, bandingkan output LOWER
fungsi saat diberi karakter yang sama, tetapi dalam versi yang berbeda dari kolatasi yang sama:
SELECT NCHAR(504) COLLATE Latin1_General_CI_AS AS [Uppercase],
NCHAR(505) COLLATE Latin1_General_CI_AS AS [Lowercase];
Berikut set hasilnya.
Nama kolom | Hasil |
---|---|
Uppercase |
Ǹ |
Lowercase |
ǹ |
Pernyataan pertama menunjukkan bentuk huruf besar dan kecil dari karakter ini dalam kolase yang lebih lama (kolase tidak memengaruhi ketersediaan karakter saat bekerja dengan data Unicode).
SELECT LOWER(NCHAR(504) COLLATE Latin1_General_CI_AS) AS [Version80Collation],
LOWER(NCHAR(504) COLLATE Latin1_General_100_CI_AS) AS [Version100Collation];
Berikut set hasilnya.
Nama kolom | Hasil |
---|---|
Version80Collation |
Ǹ |
Version100Collation |
ǹ |
Pernyataan kedua menunjukkan bahwa karakter huruf besar dikembalikan ketika kolase adalah Latin1_General_CI_AS
, karena titik kode ini tidak memiliki pemetaan huruf kecil yang ditentukan dalam kolase tersebut.
Saat bekerja dengan beberapa bahasa, mungkin penting untuk menghindari kolase yang lebih lama. Misalnya, ini berlaku untuk Telegu.
Dalam beberapa kasus, kolase Windows dan kolase SQL Server dapat menghasilkan rencana kueri yang berbeda untuk kueri yang sama.
Contoh
Tabel berikut ini menjelaskan beberapa contoh nama kolater Windows.
Kolase | Deskripsi |
---|---|
Latin1_General_100_CI_AS |
Kolase menggunakan aturan pengurutan kamus Umum Latin1 dan peta ke halaman 1252 kode . Ini adalah kolamen versi _100 , dan tidak peka huruf besar/kecil (CI ) dan peka aksen (AS ). |
Estonian_CS_AS |
Kolate menggunakan aturan pengurutan kamus Estonia dan peta ke halaman 1257 kode . Ini adalah kolase versi _80 (tersirat oleh tidak ada nomor versi dalam nama), dan peka huruf besar/kecil (CS ) dan sensitif terhadap aksen (AS ). |
Japanese_Bushu_Kakusu_140_BIN2 |
Kolater menggunakan aturan pengurutan titik kode biner dan peta ke halaman 932 kode . Ini adalah kolate versi _140 , dan aturan pengurutan kamus Bushu Kakusu Jepang diabaikan. |
Kolatasi Windows
Untuk mencantumkan kolase Windows yang didukung oleh instans SQL Server Anda, jalankan kueri berikut.
SELECT *
FROM sys.fn_helpcollations()
WHERE [name] NOT LIKE N'SQL%';