Windows Collation Name (Transact-SQL)


THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Specifies the Windows collation name in the COLLATE clause in SQL Server. The Windows collation name is composed of the collation designator and the comparison styles.

Topic link icon Transact-SQL Syntax Conventions

<Windows_collation_name> :: =   
<ComparisonStyle> :: =   
{ CaseSensitivity_AccentSensitivity  [ _KanatypeSensitive ] [ _WidthSensitive ]    
| { _BIN | _BIN2 }  

Specifies the base collation rules used by the Windows collation. The base collation rules cover the following:

  • The sorting rules that are applied when dictionary sorting is specified. Sorting rules are based on alphabet or language.

  • The code page used to store non-Unicode character data.

Some examples are:

  • Latin1_General or French: both use code page 1252.

  • Turkish: uses code page 1254.

CI specifies case-insensitive, CS specifies case-sensitive.

AI specifies accent-insensitive, AS specifies accent-sensitive.

Omitted specifies kanatype-insensitive, KS specifies kanatype-sensitive.

Omitted specifies width-insensitive, WS specifies width-sensitive.

Specifies the backward-compatible binary sort order to be used.

Specifies the binary sort order that uses code-point comparison semantics.

Depending on the version of the collations some code points may be undefined. For example compare:

SELECT LOWER(nchar(504) COLLATE Latin1_General_CI_AS);   
SELECT LOWER (nchar(504) COLLATE Latin1_General_100_CI_AS);  

The first line returns an uppercase character when the collation is Latin1_General_CI_AS, because this code point is undefined in this collation.

When working with some languages, it can be critical to avoid the older collations. For example, this is true for Telegu.

In some cases Windows collations and SQL Server collations can generate different query plans for the same query.

The following are some examples of Windows collation names:

  • Latin1_General_100_

Collation uses the Latin1 General dictionary sorting rules, code page 1252. Is case-insensitive and accent-sensitive. Collation uses the Latin1 General dictionary sorting rules and maps to code page 1252. Shows the version number of the collation if it is a Windows collation: _90 or _100. Is case-insensitive (CI), and accent-sensitive (AS).

  • Estonian_CS_AS

    Collation uses the Estonian dictionary sorting rules, code page 1257. Is case-sensitive and accent-sensitive.

  • Latin1_General_BIN

    Collation uses code page 1252 and binary sorting rules. The Latin1 General dictionary sorting rules are ignored.

To list the Windows collations supported by your instance of SQL Server, execute the following query.

SELECT * FROM sys.fn_helpcollations() WHERE name NOT LIKE 'SQL%';  

The following table lists all Windows collations supported in SQL Server 2016.

Windows localeCollation Version 100Collation Version 90
Alsatian (France)Latin1_General_100_Not available
Amharic (Ethiopia)Latin1_General_100_Not available
Armenian (Armenia)Cyrillic_General_100_Not available
Assamese (India)Assamese_100_ 1Not available
Bashkir (Russia)Bashkir_100_Not available
Basque (Basque)Latin1_General_100_Not available
Bengali (Bangladesh)Bengali_100_1Not available
Bengali (India)Bengali_100_1Not available
Bosnian (Bosnia and Herzegovina, Cyrillic)Bosnian_Cyrillic_100_Not available
Bosnian (Bosnia and Herzegovina, Latin)Bosnian_Latin_100_Not available
Breton (France)Breton_100_Not available
Chinese (Macao SAR)Chinese_Traditional_Pinyin_100_Not available
Chinese (Macao SAR)Chinese_Traditional_Stroke_Order_100_Not available
Chinese (Singapore)Chinese_Simplified_Stroke_Order_100_Not available
Corsican (France)Corsican_100_Not available
Croatian (Bosnia and Herzegovina, Latin)Croatian_100_Not available
Dari (Afghanistan)Dari_100_Not available
English (India)Latin1_General_100_Not available
English (Malaysia)Latin1_General_100_Not available
English (Singapore)Latin1_General_100_Not available
Filipino (Philippines)Latin1_General_100_Not available
Frisian (Netherlands)Frisian_100_Not available
Georgian (Georgia)Cyrillic_General_100_Not available
Greenlandic (Greenland)Danish_Greenlandic_100_Not available
Gujarati (India)Indic_General_100_1Indic_General_90_
Hausa (Nigeria, Latin)Latin1_General_100_Not available
Hindi (India)Indic_General_100_1Indic_General_90_
Igbo (Nigeria)Latin1_General_100_Not available
Inuktitut (Canada, Latin)Latin1_General_100_Not available
Inuktitut (Syllabics) CanadaLatin1_General_100_Not available
Irish (Ireland)Latin1_General_100_Not available
Japanese (Japan XJIS)Japanese_XJIS_100_Japanese_90_, Japanese_
Japanese (Japan)Japanese_Bushu_Kakusu_100_Not available
Kannada (India)Indic_General_100_1Indic_General_90_
Khmer (Cambodia)Khmer_100_1Not available
K'iche (Guatemala)Modern_Spanish_100_Not available
Kinyarwanda (Rwanda)Latin1_General_100_Not available
Konkani (India)Indic_General_100_1Indic_General_90_
Lao (Lao PDR)Lao_100_1Not available
Lower Sorbian (Germany)Latin1_General_100_Not available
Luxembourgish (Luxembourg)Latin1_General_100_Not available
Malayalam (India)Indic_General_100_1Not available
Maltese (Malta)Maltese_100_Not available
Maori (New Zealand)Maori_100_Not available
Mapudungun (Chile)Mapudungan_100_Not available
Marathi (India)Indic_General_100_1Indic_General_90_
Mohawk (Canada)Mohawk_100_Not available
Mongolian (PRC)Cyrillic_General_100_Not available
Nepali (Nepal)Nepali_100_1Not available
Norwegian (Bokmål, Norway)Norwegian_100_Not available
Norwegian (Nynorsk, Norway)Norwegian_100_Not available
Occitan (France)French_100_Not available
Oriya (India)Indic_General_100_1Not available
Pashto (Afghanistan)Pashto_100_1Not available
Persian (Iran)Persian_100_Not available
Punjabi (India)Indic_General_100_1Indic_General_90_
Quechua (Bolivia)Latin1_General_100_Not available
Quechua (Ecuador)Latin1_General_100_Not available
Quechua (Peru)Latin1_General_100_Not available
Romansh (Switzerland)Romansh_100_Not available
Sami (Inari, Finland)Sami_Sweden_Finland_100_Not available
Sami (Lule,Norway)Sami_Norway_100_Not available
Sami (Lule, Sweden)Sami_Sweden_Finland_100_Not available
Sami (Northern, Finland)Sami_Sweden_Finland_100_Not available
Sami (Northern,Norway)Sami_Norway_100_Not available
Sami (Northern, Sweden)Sami_Sweden_Finland_100_Not available
Sami (Skolt, Finland)Sami_Sweden_Finland_100_Not available
Sami (Southern, Norway)Sami_Norway_100_Not available
Sami (Southern, Sweden)Sami_Sweden_Finland_100_Not available
Sanskrit (India)Indic_General_100_1Indic_General_90_
Serbian (Bosnia and Herzegovina, Cyrillic)Serbian_Cyrillic_100_Not available
Serbian (Bosnia and Herzegovina, Latin)Serbian_Latin_100_Not available
Serbian (Serbia, Cyrillic)Serbian_Cyrillic_100_Not available
Serbian (Serbia, Latin)Serbian_Latin_100_Not available
Sesotho sa Leboa/Northern Sotho (South Africa)Latin1_General_100_Not available
Setswana/Tswana (South Africa)Latin1_General_100_Not available
Sinhala (Sri Lanka)Indic_General_100_1Not available
Swahili (Kenya)Latin1_General_100_Not available
Syriac (Syria)Syriac_100_1Syriac_90_
Tajik (Tajikistan)Cyrillic_General_100_Not available
Tamazight (Algeria, Latin)Tamazight_100_Not available
Tamil (India)Indic_General_100_1Indic_General_90_
Telugu (India)Indic_General_100_1Indic_General_90_
Tibetan (PRC)Tibetan_100_1Not available
Turkmen (Turkmenistan)Turkmen_100_Not available
Uighur (PRC)Uighur_100_Not available
Upper Sorbian (Germany)Upper_Sorbian_100_Not available
Urdu (Pakistan)Urdu_100_Not available
Welsh (United Kingdom)Welsh_100_Not available
Wolof (Senegal)French_100_Not available
Xhosa/isiXhosa (South Africa)Latin1_General_100_Not available
Yakut (Russia)Yakut_100_Not available
Yi (PRC)Latin1_General_100_Not available
Yoruba (Nigeria)Latin1_General_100_Not available
Zulu/isiZulu (South Africa)Latin1_General_100_Not available
Deprecated, not available at server level in SQL Server 2008 or laterHindiHindi
Deprecated, not available at server level in SQL Server 2008 or laterKorean_Wansung_UnicodeKorean_Wansung_Unicode
Deprecated, not available at server level in SQL Server 2008 or laterLithuanian_ClassicLithuanian_Classic
Deprecated, not available at server level in SQL Server 2008 or laterMacedonianMacedonian

1Unicode-only Windows collations can only be applied to column-level or expression-level data. They cannot be used as server or database collations.

2Like the Chinese (Taiwan) collation, Chinese (Macau) uses the rules of Simplified Chinese; unlike Chinese (Taiwan), it uses code page 950.

Collation and Unicode Support
Constants (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
table (Transact-SQL)
sys.fn_helpcollations (Transact-SQL)

Community Additions