Nom de classement Windows (Transact-SQL)
S’applique à : point de terminaison d’analytique SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System (PDW) SQL Analytics dans Microsoft Fabric Warehouse dans Microsoft Fabric
Spécifie le nom de classement Windows dans la clause COLLATE dans SQL Server. Le nom de classement Windows est composé d'un indicateur de classement et de styles de comparaison.
Conventions de la syntaxe Transact-SQL
Syntaxe
<Windows_collation_name> :: =
<CollationDesignator>_<ComparisonStyle>
<ComparisonStyle> :: =
{ <CaseSensitivity>_<AccentSensitivity> [ _<KanatypeSensitive> ] [ _<WidthSensitive> ] [ _<VariationSelectorSensitive> ]
}
| { _UTF8 }
| { _BIN | _BIN2 }
Remarque
Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 (12.x) et versions antérieures, consultez la Documentation sur les versions antérieures.
Arguments
CollationDesignator
Spécifie les règles de classement de base utilisées par le classement Windows. Les règles de classement de base incluent les éléments suivants :
- Les règles de tri et de comparaison appliquées quand le tri de dictionnaire est spécifié. Les règles de tri sont basées sur l'alphabet ou la langue ;
- La page de codes utilisée pour stocker les données varchar.
Quelques exemples :
- Latin1_General ou French : ces deux ensembles de caractères s'appuient sur la page de codes 1252.
- Turkish : utilise la page de code 1254.
CaseSensitivity
CI ne respecte pas la casse, contrairement à CS.
AccentSensitivity
AI ne respecte pas les accents, contrairement à AS.
KanatypeSensitive
L’oubli de cette option ne suit pas les caractères Kana, alors que KS les respecte.
WidthSensitivity
L’oubli de cette option ne tient pas compte des largeurs, alors que WS les respecte.
VariationSelectorSensitivity
S’applique à : À compter de SQL Server 2017 (14.x)
L’oubli de cette option spécifie le non-respect du sélecteur de variation, VSS spécifie le respect du sélecteur de variation.
UTF8
S’applique à : À compter de SQL Server 2019 (15.x)
Spécifie l’encodage UTF-8 à utiliser pour les types de données éligibles. Pour plus d’informations, consultez Prise en charge d’Unicode et du classement.
BIN
Indique l'ordre de tri binaire et assurant la compatibilité descendante à utiliser.
BIN2
Indique l'ordre de tri binaire utilisant la sémantique de comparaison des points de code.
Notes
Selon la version du classement, certains points de code peuvent ne pas avoir de pondérations de tri et/ou de mappages majuscules/minuscules définis. Par exemple, comparez la sortie de la fonction LOWER
quand elle reçoit le même caractère, mais dans différentes versions du même classement :
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];
-- Ǹ ǹ
La première instruction montre la forme majuscule et la forme minuscule de ce caractère dans le classement plus ancien (le classement n’affecte pas la disponibilité des caractères lors de l’utilisation de données Unicode). Cependant, la deuxième instruction montre qu’un caractère majuscule est retourné quand le classement est Latin1_General_CI_AS, car il n’y a pas de mappage aux minuscules défini pour ce point de code dans ce classement.
Lors de l'utilisation de certaines langues, il peut être essentiel d'éviter les classements anciens. C'est par exemple le cas pour le télougou.
Dans certains cas, les classements Windows et les classements SQL Server peuvent générer différents plans de requête pour la même requête.
Exemples
Voici quelques exemples de noms de classements Windows :
Latin1_General_100_CI_AS
Le classement utilise les mappages et les règles de tri du dictionnaire général Latin1 et établit un mappage à la page de codes 1252. Il s’agit d’un classement de la version _100, qui ne respecte pas la casse (CI) et respecte les accents (AS).
Estonian_CS_AS
Ce classement utilise les règles de tri du dictionnaire estonien et il est mappé à la page de codes 1257. Il s’agit d’un classement de la version _80 (découlant de l’absence de numéro de version dans le nom), qui est sensible à la casse (CS) et qui respecte les accents (AS).
Japanese_Bushu_Kakusu_140_BIN2
Le classement utilise les règles de tri du point de code binaire et il est mappé à la page de codes 932. Il s’agit d’un classement de la version _140 et les règles de tri du dictionnaire du japonais Bushu Kakusu sont ignorées.
Classements Windows
Pour énumérer les classements Windows pris en charge par votre d'instance de SQL Server, exécutez la requête suivante.
SELECT * FROM sys.fn_helpcollations() WHERE [name] NOT LIKE N'SQL%';
Le tableau suivant répertorie tous les classements Windows pris en charge dans SQL Server.
Paramètres régionaux Windows | Classement version 100 | Classement version 90 |
---|---|---|
Alsacien (France) | Latin1_General_100_ | Non disponible |
Amharique (Éthiopie) | Latin1_General_100_ | Non disponible |
Arménien (Arménie) | Cyrillic_General_100_ | Non disponible |
Assamais (Inde) | Assamese_100_ 1 | Non disponible |
Bengali (Bangladesh) | Bengali_100_1 | Non disponible |
Bachkir (Russie) | Bashkir_100_ | Non disponible |
Basque (Basque) | Latin1_General_100_ | Non disponible |
Bengali (India) | Bengali_100_1 | Non disponible |
Bosniaque (Bosnie-Herzégovine, cyrillique) | Bosnian_Cyrillic_100_ | Non disponible |
Bosniaque (Bosnie-Herzégovine, latin) | Bosnian_Latin_100_ | Non disponible |
Breton (France) | Breton_100_ | Non disponible |
Chinese (Macao (R.A.S.)) | Chinese_Traditional_Pinyin_100_ | Non disponible |
Chinese (Macao (R.A.S.)) | Chinese_Traditional_Stroke_Order_100_ | Non disponible |
Chinese (Singapore) | Chinese_Simplified_Stroke_Order_100_ | Non disponible |
Corse (France) | Corsican_100_ | Non disponible |
Croate (Bosnie-Herzégovine, latin) | Croatian_100_ | Non disponible |
Dari (Afghanistan) | Dari_100_ | Non disponible |
Anglais (Inde) | Latin1_General_100_ | Non disponible |
Anglais (Malaisie) | Latin1_General_100_ | Non disponible |
Anglais (Singapour) | Latin1_General_100_ | Non disponible |
Filipino (Philippines) | Latin1_General_100_ | Non disponible |
Frison (Pays-Bas) | Frisian_100_ | Non disponible |
Géorgien (Géorgie) | Cyrillic_General_100_ | Non disponible |
Groenlandais (Groenland) | Danish_Greenlandic_100_ | Non disponible |
Goudjrati (Inde) | Indic_General_100_1 | Indic_General_90_ |
Haoussa (Nigeria, latin) | Latin1_General_100_ | Non disponible |
Hindi (Inde) | Indic_General_100_1 | Indic_General_90_ |
Igbo (Nigeria) | Latin1_General_100_ | Non disponible |
Inuktitut (Canada, latin) | Latin1_General_100_ | Non disponible |
Inuktitut (syllabique, Canada) | Latin1_General_100_ | Non disponible |
Irlandais (Irlande) | Latin1_General_100_ | Non disponible |
Japonais (Japon XJIS) | Japanese_XJIS_100_ | Japanese_90_, Japanese_ |
Japonais (Japon) | Japanese_Bushu_Kakusu_100_ | Non disponible |
Kannada (Inde) | Indic_General_100_1 | Indic_General_90_ |
Khmer (Cambodge) | Khmer_100_1 | Non disponible |
Quiché (Guatemala) | Modern_Spanish_100_ | Non disponible |
Kinyarwanda (Rwanda) | Latin1_General_100_ | Non disponible |
Konkani (Inde) | Indic_General_100_1 | Indic_General_90_ |
Lao (RDP Lao) | Lao_100_1 | Non disponible |
Bas-sorabe (Allemagne) | Latin1_General_100_ | Non disponible |
Luxembourgeois (Luxembourg) | Latin1_General_100_ | Non disponible |
Malayalam (Inde) | Indic_General_100_1 | Non disponible |
Maltais (Malte) | Maltese_100_ | Non disponible |
Maori (Nouvelle-Zélande) | Maori_100_ | Non disponible |
Mapuche (Chili) | Mapudungan_100_ | Non disponible |
Marathi (Inde) | Indic_General_100_1 | Indic_General_90_ |
Mohawk (Canada) | Mohawk_100_ | Non disponible |
Mongol (République populaire de Chine) | Cyrillic_General_100_ | Non disponible |
Népalais (Népal) | Nepali_100_1 | Non disponible |
Norvégien (bokmål, Norvège) | Norwegian_100_ | Non disponible |
Norvégien (Nynorsk, Norvège) | Norwegian_100_ | Non disponible |
Occitan (France) | French_100_ | Non disponible |
Odia (Inde) | Indic_General_100_1 | Non disponible |
Pachtou (Afghanistan) | Pashto_100_1 | Non disponible |
Persan (Iran) | Persian_100_ | Non disponible |
Pendjabi (Inde) | Indic_General_100_1 | Indic_General_90_ |
Quechua (Bolivie) | Latin1_General_100_ | Non disponible |
Quechua (Équateur) | Latin1_General_100_ | Non disponible |
Quechua (Pérou) | Latin1_General_100_ | Non disponible |
Romanche (Suisse) | Romansh_100_ | Non disponible |
Same d'Inari (Finlande) | Sami_Sweden_Finland_100_ | Non disponible |
Sami (Lule, Norvège) | Sami_Norway_100_ | Non disponible |
Same de Lule (Suède) | Sami_Sweden_Finland_100_ | Non disponible |
Same du nord (Finlande) | Sami_Sweden_Finland_100_ | Non disponible |
Same du nord (Norvège) | Sami_Norway_100_ | Non disponible |
Same du nord (Suède) | Sami_Sweden_Finland_100_ | Non disponible |
Same de Skolt (Finlande) | Sami_Sweden_Finland_100_ | Non disponible |
Same du sud (Norvège) | Sami_Norway_100_ | Non disponible |
Same du sud (Suède) | Sami_Sweden_Finland_100_ | Non disponible |
Sanskrit (Inde) | Indic_General_100_1 | Indic_General_90_ |
Serbe (Bosnie-Herzégovine, cyrillique) | Serbian_Cyrillic_100_ | Non disponible |
Serbe (Bosnie-Herzégovine, latin) | Serbian_Latin_100_ | Non disponible |
Serbe (Serbie, cyrillique) | Serbian_Cyrillic_100_ | Non disponible |
Serbe (latin, Serbie) | Serbian_Latin_100_ | Non disponible |
Sesotho sa Leboa/Sotho du Nord (Afrique du Sud) | Latin1_General_100_ | Non disponible |
Setswana/Tswana (Afrique du Sud) | Latin1_General_100_ | Non disponible |
Cingalais (Sri Lanka) | Indic_General_100_1 | Non disponible |
Swahili (Kenya) | Latin1_General_100_ | Non disponible |
Syriaque (Syrie) | Syriac_100_1 | Syriac_90_ |
Tadjik (Tadjikistan) | Cyrillic_General_100_ | Non disponible |
Tamazight (Algérie, latin) | Tamazight_100_ | Non disponible |
Tamoul (Inde) | Indic_General_100_1 | Indic_General_90_ |
Télougou (Inde) | Indic_General_100_1 | Indic_General_90_ |
Tibétain (RPC) | Tibetan_100_1 | Non disponible |
Turkmène (Turkménistan) | Turkmen_100_ | Non disponible |
Ouïgour (RPC) | Uighur_100_ | Non disponible |
Haut-sorabe (Allemagne) | Upper_Sorbian_100_ | Non disponible |
Ourdou (Pakistan) | Urdu_100_ | Non disponible |
Gallois (Royaume-Uni) | Welsh_100_ | Non disponible |
Wolof (Sénégal) | French_100_ | Non disponible |
Xhosa (Afrique du Sud) | Latin1_General_100_ | Non disponible |
Iakoute (Russie) | Yakut_100_ | Non disponible |
Yi (RPC) | Latin1_General_100_ | Non disponible |
Yoruba (Nigeria) | Latin1_General_100_ | Non disponible |
Zoulou (Afrique du Sud) | Latin1_General_100_ | Non disponible |
Déconseillé, non disponible au niveau serveur dans SQL Server 2008 (10.0.x) ou les versions ultérieures | Hindi | Hindi |
Déconseillé, non disponible au niveau serveur dans SQL Server 2008 (10.0.x) ou les versions ultérieures | Korean_Wansung_Unicode | Korean_Wansung_Unicode |
Déconseillé, non disponible au niveau serveur dans SQL Server 2008 (10.0.x) ou les versions ultérieures | Lithuanian_Classic | Lithuanian_Classic |
Déconseillé, non disponible au niveau serveur dans SQL Server 2008 (10.0.x) ou les versions ultérieures | Macédonien | Macédonien |
1 Les classements Windows Unicode seulement ne peuvent être appliqués qu’à des données de niveau colonne ou de niveau expression. Ils ne peuvent pas être utilisés en tant que classements de serveur ou de base de données.
2 Comme le classement chinois (Taiwan), le chinois (Macao (R.A.S.)) utilise les règles du chinois simplifié. Contrairement au chinois (Taiwan), il utilise la page de codes 950.
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Prochainement : Tout au long de l'année 2024, nous supprimerons progressivement les GitHub Issues en tant que mécanisme de retour d'information pour le contenu et nous les remplacerons par un nouveau système de retour d'information. Pour plus d’informations, voir:Soumettre et afficher des commentaires pour