Nama Kolase Windows (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)Titik akhir analitik SQL di Microsoft FabricWarehouse di Microsoft Fabric

Menentukan nama kolase Windows dalam klausa COLLATE di SQL Server. Nama kolase Windows terdiri dari penunjuk kolase dan gaya perbandingan.

Konvensi sintaks transact-SQL

Sintaksis

<Windows_collation_name> :: =
<CollationDesignator>_<ComparisonStyle>

<ComparisonStyle> :: =
{ <CaseSensitivity>_<AccentSensitivity> [ _<KanatypeSensitive> ] [ _<WidthSensitive> ] [ _<VariationSelectorSensitive> ] 
}
| { _UTF8 }
| { _BIN | _BIN2 }

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi 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 lebar-tidak sensitif, WS menentukan peka lebar.

VariasiSelectorSensitivity

  • Berlaku untuk: Dimulai dengan SQL Server 2017 (14.x)

  • Menghilangkan opsi ini menentukan variasi selector-insensitive, VSS menentukan variasi selector-sensitive.

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 Dukungan Kolate dan Unicode.

BIN
Menentukan urutan pengurutan biner yang kompatibel dengan mundur yang akan digunakan.

BIN2
Menentukan urutan pengurutan biner yang menggunakan semantik perbandingan titik kode.

Keterangan

Tergantung pada versi kolase, beberapa titik kode mungkin tidak memiliki bobot sortir dan/atau pemetaan huruf besar/kecil yang ditentukan. Misalnya, bandingkan output LOWER fungsi ketika 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];
-- Ǹ    ǹ


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 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, 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

Berikut ini adalah beberapa contoh nama kolajeksi 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 peka aksen (AS).

  • Estonian_CS_AS

    Kolate 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

    Kolater 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.

Kolasasi 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%';

Tabel berikut mencantumkan semua kolase Windows yang didukung di SQL Server.

Lokal Windows Kolas Versi 100 Kolas Versi 90
Alsatia (Prancis) Latin1_General_100_ Tidak tersedia
Amharis (Ethiopia) Latin1_General_100_ Tidak tersedia
Armenia (Armenia) Cyrillic_General_100_ Tidak tersedia
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 (RRC) 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
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
Bahasa 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 (RRC) Tibetan_100_1 Tidak tersedia
Turkmen (Turkmenistan) Turkmen_100_ Tidak tersedia
Uighur (RRC) 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 (RRC) 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 di SQL Server 2008 (10.0.x) atau yang lebih baru Hindi Hindi
Tidak digunakan lagi, tidak tersedia di tingkat server di SQL Server 2008 (10.0.x) atau yang lebih baru Korean_Wansung_Unicode Korean_Wansung_Unicode
Tidak digunakan lagi, tidak tersedia di tingkat server di SQL Server 2008 (10.0.x) atau yang lebih baru Lithuanian_Classic Lithuanian_Classic
Tidak digunakan lagi, tidak tersedia di tingkat server di SQL Server 2008 (10.0.x) 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 SAR) menggunakan aturan Tionghoa Sederhana; tidak seperti Cina (Taiwan), menggunakan halaman kode 950.

Lihat Juga