Nom de classement Windows (Transact-SQL)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL analytics endpoint in Microsoft Fabric Warehouse in Microsoft Fabric
Spécifie le nom du classement Windows dans la COLLATE
clause 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 }
Arguments
CollationDesignator
Spécifie les règles de classement de base utilisées par le classement Windows. Les règles de classement de base couvrent les points 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
ouFrench
: les deux utilisent la page1252
de codes .Turkish
: utilise la page1254
de codes .
CaseSensitivity
CI
spécifie l’insensible à la casse, CS
spécifie la casse sensible à la casse.
AccentSensitivity
AI
spécifie l’accent-insensible, AS
spécifie les accentuations sensibles.
KanatypeSensitive
Omettre cette option spécifie kanatype-insensible, KS
spécifie kanatype-sensitive.
WidthSensitivity
Omettre cette option spécifie l’insensible à la largeur, WS
spécifie la largeur sensible.
VariationSelectorSensitivity
S’applique à : SQL Server 2017 (14.x) et versions ultérieures
Omettre cette option spécifie le sélecteur de variante non sensible, VSS
spécifie le sélecteur de variante sensible.
UTF8
S’applique à : SQL Server 2019 (15.x) et versions ultérieures
Spécifie l’encodage UTF-8 à utiliser pour les types de données éligibles. Pour plus d’informations, voir Classement et prise en charge d’Unicode.
{ BIN | BIN2 }
BIN
spécifie l’ordre de tri binaire à compatibilité descendante à utiliser.BIN2
spécifie l’ordre de tri binaire qui utilise la sémantique de comparaison de points de code.
Notes
Selon la version du classement, certains points de code peuvent ne pas avoir de poids de tri, ou des mappages majuscules/minuscules définis. Par exemple, comparez la sortie de la LOWER
fonction lorsqu’elle a 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];
Voici le jeu de résultats.
Nom de la colonne | Result |
---|---|
Uppercase |
Ǹ |
Lowercase |
ǹ |
La première instruction affiche les formes majuscules et minuscules de ce caractère dans l’ancien classement (le classement n’affecte pas la disponibilité des caractères lors de l’utilisation des données Unicode).
SELECT LOWER(NCHAR(504) COLLATE Latin1_General_CI_AS) AS [Version80Collation],
LOWER(NCHAR(504) COLLATE Latin1_General_100_CI_AS) AS [Version100Collation];
Voici le jeu de résultats.
Nom de la colonne | Result |
---|---|
Version80Collation |
Ǹ |
Version100Collation |
ǹ |
La deuxième instruction montre qu’un caractère majuscule est retourné lorsque le classement est Latin1_General_CI_AS
, car ce point de code n’a pas de mappage en minuscules défini 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
Le tableau suivant décrit quelques exemples de noms de classement Windows.
Classement | Description |
---|---|
Latin1_General_100_CI_AS |
Le classement utilise les règles de tri du dictionnaire latin1 général et est mappé à la page 1252 de codes. Il s’agit d’un classement de version _100 , qui ne respecte pas la casse (CI ) et respecte les accents (AS ). |
Estonian_CS_AS |
Le classement utilise les règles de tri du dictionnaire estonien et mappe à la page 1257 de codes. Il s’agit d’un classement de version _80 (implicite par aucun numéro de version dans le nom) et respectant la casse (CS ) et sensible aux accents (AS ). |
Japanese_Bushu_Kakusu_140_BIN2 |
Le classement utilise des règles de tri de point de code binaire et est mappé à la page 932 de codes. Il s’agit d’un classement de version _140 , et les règles de tri de dictionnaire Bushu Kakusu japonaises 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%';