Freigeben über


Windows-Sortierungsname (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 }

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.

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 oder French: beide verwenden Codepage 1252.
  • Turkish: verwendet Codepage 1254.

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 ist das Resultset.

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 ist das Resultset.

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 1252zugeordnet. 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 1257zugeordnet. 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 932zu. 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%';