Windows Collation Name (Transact-SQL)
Berlaku untuk:
SQL Server (semua versi yang didukung)
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System (PDW)
Menentukan nama kolaksi Windows dalam klausa COLLATE 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 }
Catatan
Untuk melihat sintaks transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.
Argumen
CollationDesignator
Menentukan aturan kolaterasi dasar yang digunakan oleh kolatasi Windows. Aturan kolase dasar mencakup hal-hal berikut:
- 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 Prancis: keduanya menggunakan halaman kode 1252.
- Bahasa Turki: menggunakan halaman kode 1254.
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 tidak peka lebar, WS menentukan peka lebar.
VariationSelectorSensitivity
Berlaku untuk: Dimulai dengan SQL Server 2017 (14.x)
Menghilangkan opsi ini menentukan pemilih variasi yang tidak sensitif, VSS menentukan variasi sensitif terhadap pemilih.
UTF8
Berlaku untuk: Dimulai dengan SQL Server 2019 (15.x)
Menentukan pengodean UTF-8 yang akan digunakan untuk jenis data yang memenuhi syarat. Untuk informasi selengkapnya, lihat Kolajeasi dan Dukungan Unicode.
BIN
Menentukan urutan pengurutan biner yang kompatibel dengan versi 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 dan/atau pemetaan huruf besar/huruf kecil yang ditentukan. Misalnya, bandingkan output LOWER fungsi ketika diberi karakter yang sama, tetapi dalam versi yang berbeda dari kolab yang sama:
SELECT NCHAR(504) COLLATE Latin1_General_CI_AS AS [Uppercase],
NCHAR(505) COLLATE Latin1_General_CI_AS AS [Lowercase];
-- Ǹ ǹ
SELECT LOWER(NCHAR(504) COLLATE Latin1_General_CI_AS) AS [Version80Collation],
LOWER(NCHAR(504) COLLATE Latin1_General_100_CI_AS) AS [Version100Collation];
-- Ǹ ǹ
Pernyataan pertama menunjukkan bentuk huruf besar dan huruf kecil dari karakter ini dalam kolase yang lebih lama (kolase tidak memengaruhi ketersediaan karakter saat bekerja dengan data Unicode). Namun, pernyataan kedua menunjukkan bahwa karakter huruf besar dikembalikan ketika kolase Latin1_General_CI_AS karena titik kode ini tidak memiliki pemetaan huruf kecil yang ditentukan dalam kolase tersebut.
Saat bekerja dengan beberapa bahasa, sangat penting untuk menghindari kolase yang lebih lama. Misalnya, ini berlaku untuk Telegu.
Dalam beberapa kasus Windows kolamen dan kolamen SQL Server dapat menghasilkan rencana kueri yang berbeda untuk kueri yang sama.
Contoh
Berikut ini adalah beberapa contoh nama kolab Windows:
Latin1_General_100_CI_AS
Kolase menggunakan aturan pengurutan kamus Umum Latin1 dan peta ke halaman kode 1252. Ini adalah kolase versi _100, dan tidak peka huruf besar/kecil (CI) dan sensitif terhadap aksen (AS).
Estonian_CS_AS
Kolase menggunakan aturan pengurutan kamus Estonia dan peta ke halaman kode 1257. Ini adalah kolase versi _80 (tersirat oleh tidak ada nomor versi dalam nama), dan peka huruf besar/kecil (CS) dan peka aksen (AS).
Japanese_Bushu_Kakusu_140_BIN2
Kolase menggunakan aturan pengurutan titik kode biner dan peta ke halaman kode 932. Ini adalah kolase versi _140, dan aturan pengurutan kamus Bushu Kakusu Jepang diabaikan.
Kolajeksi Windows
Untuk mencantumkan kolatasi Windows yang didukung oleh instans SQL Server Anda, jalankan kueri berikut.
SELECT * FROM sys.fn_helpcollations() WHERE [name] NOT LIKE N'SQL%';
Tabel berikut ini mencantumkan semua kolaksi Windows yang didukung di SQL Server.
| lokal Windows | Kolajek Versi 100 | Kolajek Versi 90 |
|---|---|---|
| Alsatia (Prancis) | Latin1_General_100_ | Tidak tersedia |
| Amharis (Ethiopia) | Latin1_General_100_ | Tidak tersedia |
| Armenia (Armenia) | Cyrillic_General_100_ | Tidak tersedia |
| Bahasa Assamese (India) | Assamese_100_ 1 | Tidak tersedia |
| Bengali (Bangladesh) | Bengali_100_1 | Tidak tersedia |
| Bashkir (Rusia) | Bashkir_100_ | Tidak tersedia |
| Basque (Basque) | Latin1_General_100_ | Tidak tersedia |
| Bengali (India) | Bengali_100_1 | Tidak tersedia |
| Bosnia (Bosnia dan Herzegovina, Sirilik) | Bosnian_Cyrillic_100_ | Tidak tersedia |
| Bosnia (Bosnia dan Herzegovina, Latin) | Bosnian_Latin_100_ | Tidak tersedia |
| Breton (Prancis) | Breton_100_ | Tidak tersedia |
| Bahasa Mandarin (Macau SAR) | Chinese_Traditional_Pinyin_100_ | Tidak tersedia |
| Bahasa Mandarin (Macau SAR) | Chinese_Traditional_Stroke_Order_100_ | Tidak tersedia |
| Bahasa Tionghoa (Singapura) | Chinese_Simplified_Stroke_Order_100_ | Tidak tersedia |
| Corsican (Prancis) | Corsican_100_ | Tidak tersedia |
| Kroasia (Bosnia dan Herzegovina, Latin) | Croatian_100_ | Tidak tersedia |
| Dari (Afghanistan) | Dari_100_ | Tidak tersedia |
| Inggris (India) | Latin1_General_100_ | Tidak tersedia |
| Inggris (Malaysia) | Latin1_General_100_ | Tidak tersedia |
| Inggris (Singapura) | Latin1_General_100_ | Tidak tersedia |
| Filipino (Filipina) | Latin1_General_100_ | Tidak tersedia |
| Frisia (Belanda) | Frisian_100_ | Tidak tersedia |
| Georgia (Georgia) | Cyrillic_General_100_ | Tidak tersedia |
| Greenlandic (Greenland) | Danish_Greenlandic_100_ | Tidak tersedia |
| Gujarati (India) | Indic_General_100_1 | Indic_General_90_ |
| Hausa (Nigeria, Latin) | Latin1_General_100_ | Tidak tersedia |
| Hindi (India) | Indic_General_100_1 | Indic_General_90_ |
| Igbo (Nigeria) | Latin1_General_100_ | Tidak tersedia |
| Inuktitut (Kanada, Latin) | Latin1_General_100_ | Tidak tersedia |
| Inuktitut (Syllabics) Kanada | Latin1_General_100_ | Tidak tersedia |
| Irlandia (Irlandia) | Latin1_General_100_ | Tidak tersedia |
| Jepang (Jepang XJIS) | Japanese_XJIS_100_ | Japanese_90_, Japanese_ |
| Jepang (Jepang) | Japanese_Bushu_Kakusu_100_ | Tidak tersedia |
| Kannada (India) | Indic_General_100_1 | Indic_General_90_ |
| Khmer (Kamboja) | Khmer_100_1 | Tidak tersedia |
| K'iche (Guatemala) | Modern_Spanish_100_ | Tidak tersedia |
| Kinyarwanda (Rwanda) | Latin1_General_100_ | Tidak tersedia |
| Konkani (India) | Indic_General_100_1 | Indic_General_90_ |
| Lao (Lao PDR) | Lao_100_1 | Tidak tersedia |
| Sorbia Bawah (Jerman) | Latin1_General_100_ | Tidak tersedia |
| Luksemburg (Luksemburg) | Latin1_General_100_ | Tidak tersedia |
| Malayalam (India) | Indic_General_100_1 | Tidak tersedia |
| Malta (Malta) | Maltese_100_ | Tidak tersedia |
| Maori (Selandia Baru) | Maori_100_ | Tidak tersedia |
| Mapudungun (Chili) | Mapudungan_100_ | Tidak tersedia |
| Marathi (India) | Indic_General_100_1 | Indic_General_90_ |
| Mohawk (Kanada) | Mohawk_100_ | Tidak tersedia |
| Mongolia (RRT) | Cyrillic_General_100_ | Tidak tersedia |
| Nepal (Nepal) | Nepali_100_1 | Tidak tersedia |
| Norwegia (Bokmål, Norwegia) | Norwegian_100_ | Tidak tersedia |
| Norwegia (Nynorsk, Norwegia) | Norwegian_100_ | Tidak tersedia |
| Okitan (Prancis) | French_100_ | Tidak tersedia |
| Odia (India) | Indic_General_100_1 | Tidak tersedia |
| Pashto (Afganistan) | Pashto_100_1 | Tidak tersedia |
| Persia (Iran) | Persian_100_ | Tidak tersedia |
| Bahasa Punjabi (India) | Indic_General_100_1 | Indic_General_90_ |
| Quechua (Bolivia) | Latin1_General_100_ | Tidak tersedia |
| Quechua (Ekuador) | Latin1_General_100_ | Tidak tersedia |
| Quechua (Peru) | Latin1_General_100_ | Tidak tersedia |
| Romawi (Swiss) | Romansh_100_ | Tidak tersedia |
| Sami (Inari, Finlandia) | Sami_Sweden_Finland_100_ | Tidak tersedia |
| Sami (Lule, Norwegia) | Sami_Norway_100_ | Tidak tersedia |
| Sami (Lule, Swedia) | Sami_Sweden_Finland_100_ | Tidak tersedia |
| Sami (Utara, Finlandia) | Sami_Sweden_Finland_100_ | Tidak tersedia |
| Sami (Utara, Norwegia) | Sami_Norway_100_ | Tidak tersedia |
| Sami (Utara, Swedia) | Sami_Sweden_Finland_100_ | Tidak tersedia |
| Sami (Skolt, Finlandia) | Sami_Sweden_Finland_100_ | Tidak tersedia |
| Sami (Selatan, Norwegia) | Sami_Norway_100_ | Tidak tersedia |
| Sami (Selatan, Swedia) | Sami_Sweden_Finland_100_ | Tidak tersedia |
| Bahasa Sanskerta (India) | Indic_General_100_1 | Indic_General_90_ |
| Serbia (Bosnia dan Herzegovina, Sirilik) | Serbian_Cyrillic_100_ | Tidak tersedia |
| Serbia (Bosnia dan Herzegovina, Latin) | Serbian_Latin_100_ | Tidak tersedia |
| Serbia (Serbia, Cyrillic) | Serbian_Cyrillic_100_ | Tidak tersedia |
| Serbia (Serbia, Latin) | Serbian_Latin_100_ | Tidak tersedia |
| Sesotho sa Leboa/Northern Sotho (Afrika Selatan) | Latin1_General_100_ | Tidak tersedia |
| Setswana/Tswana (Afrika Selatan) | Latin1_General_100_ | Tidak tersedia |
| Bahasa Sinhala (Sri Lanka) | Indic_General_100_1 | Tidak tersedia |
| Swahili (Kenya) | Latin1_General_100_ | Tidak tersedia |
| Suriah (Suriah) | Syriac_100_1 | Syriac_90_ |
| Tajik (Tajikistan) | Cyrillic_General_100_ | Tidak tersedia |
| Tamazight (Aljazair, Latin) | Tamazight_100_ | Tidak tersedia |
| Tamil (India) | Indic_General_100_1 | Indic_General_90_ |
| Telugu (India) | Indic_General_100_1 | Indic_General_90_ |
| Tibet (RRT) | Tibetan_100_1 | Tidak tersedia |
| Turkmen (Turkmenistan) | Turkmen_100_ | Tidak tersedia |
| Uighur (RRT) | Uighur_100_ | Tidak tersedia |
| Sorbia Atas (Jerman) | Upper_Sorbian_100_ | Tidak tersedia |
| Urdu (Pakistan) | Urdu_100_ | Tidak tersedia |
| Welsh (Inggris Raya) | Welsh_100_ | Tidak tersedia |
| Wolof (Senegal) | French_100_ | Tidak tersedia |
| Xhosa/isiXhosa (Afrika Selatan) | Latin1_General_100_ | Tidak tersedia |
| Sakha (Rusia) | Yakut_100_ | Tidak tersedia |
| Yi (RRT) | Latin1_General_100_ | Tidak tersedia |
| Yoruba (Nigeria) | Latin1_General_100_ | Tidak tersedia |
| Zulu/isiZulu (Afrika Selatan) | Latin1_General_100_ | Tidak tersedia |
| Tidak digunakan lagi, tidak tersedia di tingkat server pada SQL Server 2008 atau yang lebih baru | Hindi | Hindi |
| Tidak digunakan lagi, tidak tersedia di tingkat server pada SQL Server 2008 atau yang lebih baru | Korean_Wansung_Unicode | Korean_Wansung_Unicode |
| Tidak digunakan lagi, tidak tersedia di tingkat server pada SQL Server 2008 atau yang lebih baru | Lithuanian_Classic | Lithuanian_Classic |
| Tidak digunakan lagi, tidak tersedia di tingkat server pada SQL Server 2008 atau yang lebih baru | Makedonia | Makedonia |
1 Kolase Windows khusus Unicode hanya dapat diterapkan ke data tingkat kolom atau tingkat ekspresi. Mereka tidak dapat digunakan sebagai kolase server atau database.
2 Seperti kolatasi Cina (Taiwan), Cina (Macao) menggunakan aturan Cina Sederhana; tidak seperti Cina (Taiwan), ia menggunakan halaman kode 950.
