Bagikan melalui


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.

Konvensi sintaks transact-SQL

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 atau French: keduanya menggunakan halaman 1252kode .
  • Turkish: menggunakan halaman 1254kode .

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 adalah hasil yang ditetapkan.

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 adalah hasil yang ditetapkan.

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 1252kode . 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 1257kode . 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 932kode . 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%';