Name der Windows-Sortierung (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL Analytics-Endpunkt in Microsoft Fabric Warehouse in Microsoft Fabric
Gibt den Namen der Windows-Sortierung in der COLLATE
Klausel in SQL Server an. Der Name der Windows-Sortierung besteht aus dem Sortierungskennzeichner und den Vergleichsarten.
Transact-SQL-Syntaxkonventionen
Syntax
<Windows_collation_name> ::=
<CollationDesignator>_<ComparisonStyle>
<ComparisonStyle> ::=
{ <CaseSensitivity>_<AccentSensitivity> [ _<KanatypeSensitive> ] [ _<WidthSensitive> ] [ _<VariationSelectorSensitive> ]
}
| { _UTF8 }
| { _BIN | _BIN2 }
Argumente
CollationDesignator
Gibt die grundlegenden in der Windows-Sortierung verwendeten Sortierungsregeln an. Die Basissortierungsregeln umfassen:
- Die Sortier- und Vergleichsregeln, die angewendet werden, wenn Wörterbuchsortierung angegeben wird. Sortierregeln basieren auf Alphabet oder Sprache.
- Die Codepage, die verwendet wird, um varchar-Daten zu speichern.
Beispiele:
Latin1_General
oderFrench
: beide verwenden Codepage1252
.Turkish
: verwendet Codepage1254
.
CaseSensitivity
CI
Gibt die Groß-/Kleinschreibung an, CS
gibt die Groß-/Kleinschreibung an.
AccentSensitivity
AI
Gibt akzentunempfindlich an, AS
specifies accent-sensitive.
KanatypeSensitive
Wenn Sie diese Option weglassen, wird kanatype-insensitive angegeben, KS
specifies kanatype-sensitive.
WidthSensitivity
Wenn Sie diese Option weglassen, wird die Breite nicht beachtet, WS
und die Breite wird beachtet.
VariationSelectorSensitivity
Gilt für: SQL Server 2017 (14.x) und höhere Versionen
Wenn Sie diese Option weglassen, wird die Variationsauswahl ohne Empfindlichkeit angegeben, VSS
und es wird die Variationsauswahl angegeben.
UTF8
Gilt für: SQL Server 2019 (15.x) und höhere Versionen
Gibt an, dass für geeignete Datentypen UTF-8-Codierung verwendet werden soll. Weitere Informationen finden Sie unter Sortierungs- und Unicode-Support.
{ BIN | BIN2 }
BIN
Gibt die abwärtskompatible binäre Sortierreihenfolge an, die verwendet werden soll.BIN2
Gibt die binäre Sortierreihenfolge an, in der die Codepunktvergleichsemantik verwendet wird.
Hinweise
Abhängig von der Version der Sortierung weisen einige Codepunkte möglicherweise keine Sortiergewichte oder groß-/klein geschriebene Zuordnungen auf. Vergleichen Sie z. B. die Ausgabe der LOWER
Funktion, wenn sie dasselbe Zeichen erhält, aber in verschiedenen Versionen derselben Sortierung:
SELECT NCHAR(504) COLLATE Latin1_General_CI_AS AS [Uppercase],
NCHAR(505) COLLATE Latin1_General_CI_AS AS [Lowercase];
Hier sehen Sie das Ergebnis.
Spaltenname | Ergebnis |
---|---|
Uppercase |
Ǹ |
Lowercase |
ǹ |
Die erste Anweisung zeigt sowohl Groß- als auch Kleinbuchstaben dieses Zeichens in der älteren Sortierung an (die Sortierung wirkt sich nicht auf die Verfügbarkeit von Zeichen beim Arbeiten mit Unicode-Daten aus).
SELECT LOWER(NCHAR(504) COLLATE Latin1_General_CI_AS) AS [Version80Collation],
LOWER(NCHAR(504) COLLATE Latin1_General_100_CI_AS) AS [Version100Collation];
Hier sehen Sie das Ergebnis.
Spaltenname | Ergebnis |
---|---|
Version80Collation |
Ǹ |
Version100Collation |
ǹ |
Die zweite Anweisung zeigt, dass ein Großbuchstaben zurückgegeben wird, wenn die Sortierung erfolgt Latin1_General_CI_AS
, da dieser Codepunkt keine kleingeschriebene Zuordnung in dieser Sortierung definiert hat.
Bei der Arbeit mit bestimmten Sprachen kann es entscheidend sein, die älteren Sortierungen zu vermeiden. Das gilt beispielsweise für Telegu.
In einigen Fällen können Windows-Sortierungen und SQL Server-Sortierungen unterschiedliche Abfragepläne für dieselbe Abfrage generieren.
Beispiele
In der folgenden Tabelle werden einige Beispiele für Windows-Sortierungsnamen beschrieben.
Sortierreihenfolge | Beschreibung |
---|---|
Latin1_General_100_CI_AS |
Die Sortierung verwendet die Sortierregeln für das Lateinische1-Wörterbuch und ist der Codepage 1252 zugeordnet. Es handelt sich um eine Versionssortierung _100 , bei der die Groß-/Kleinschreibung nicht beachtet wird (CI ) und die Akzentakzente (AS ). |
Estonian_CS_AS |
Bei der Sortierung werden die Sortierregeln für das estnische Wörterbuch verwendet und der Codepage 1257 zugeordnet. Es handelt sich um eine Versionssortierung _80 (impliziert durch keine Versionsnummer im Namen) und die Groß-/Kleinschreibung (CS ) und die Akzentakzente (AS ). |
Japanese_Bushu_Kakusu_140_BIN2 |
Sortierung verwendet Sortierregeln für binären Codepunkt und ordnet codepage 932 zu. Es handelt sich um eine Versionssortierung _140 , und die Sortierregeln des japanischen Bushu Kakusu-Wörterbuchs werden ignoriert. |
Windows-Sortierungen
Führen Sie die folgende Abfrage aus, um die von Ihrer SQL Server-Instanz unterstützten Windows-Sortierungen aufzulisten.
SELECT *
FROM sys.fn_helpcollations()
WHERE [name] NOT LIKE N'SQL%';