Delen via


Windows-collatienaam (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-eindpunt in Microsoft FabricMagazijn in Microsoft FabricSQL-database in Microsoft Fabric

Specificeert de naam van de Windows-collatie in de COLLATE clausule in SQL Server. De naam Windows-collatie bestaat uit de collatieaanduiding en de vergelijkingsstijlen.

Transact-SQL syntaxis-conventies

Syntaxis

<Windows_collation_name> ::=
<CollationDesignator>_<ComparisonStyle>

<ComparisonStyle> ::=
{ <CaseSensitivity>_<AccentSensitivity> [ _<KanatypeSensitive> ] [ _<WidthSensitive> ] [ _<VariationSelectorSensitive> ]
}
| { _UTF8 }
| { _BIN | _BIN2 }

Arguments

CollationDesignator

Specificeert de basis-collatieregels die door de Windows-collatie worden gebruikt. De basisregels voor de verzameling bestrijken:

  • De sorteer- en vergelijkingsregels die worden toegepast bij het sorteren van woordenboeken worden gespecificeerd. Sorteerregels zijn gebaseerd op het alfabet of de taal.
  • De codepagina die wordt gebruikt om varchar-gegevens op te slaan.

Enkele voorbeelden:

  • Latin1_General of French: beide gebruiken codepage 1252.
  • Turkish: gebruikt codepage 1254.

CaseSensitivity

CI specificeert hoofdlettergevoelig, CS specificeert hoofdlettergevoelig.

AccentSensitiviteit

AI specificeert accent-ongevoelig, AS specificeert accent-gevoelig.

KanatypeSensitive

Het weglaten van deze optie specificeert kanatype-insensitive, KS specificeert kanatype-sensitive.

Breedtegevoeligheid

Het weglaten van deze optie specificeert breedte-ongevoelig, WS specificeert breedte-gevoelig.

VariatieSelectorGevoeligheid

Van toepassing op: SQL Server 2017 (14.x) en latere versies

Het weglaten van deze optie specificeert variatieselector-ongevoelig, VSS specificeert variatieselector-gevoelig.

UTF8

Van toepassing op: SQL Server 2019 (15.x) en latere versies

Specificeert UTF-8-codering die gebruikt moet worden voor in aanmerking komende datatypen. Zie Sortering en Unicode-ondersteuningvoor meer informatie.

{ BIN | BIN2 }

  • BIN specificeert de backward-compatible binaire sorteervolgorde die gebruikt moet worden.
  • BIN2 specificeert de binaire sorteervolgorde die codepuntvergelijkingssemantiek gebruikt.

Opmerkingen

Afhankelijk van de versie van de collatie kunnen sommige codepunten geen sorteergewichten of zonder gedefinieerde hoofd- of kleinletterafbeeldingen hebben. Vergelijk bijvoorbeeld de output van de LOWER functie wanneer deze hetzelfde karakter krijgt, maar in verschillende versies van dezelfde collatie:

SELECT NCHAR(504) COLLATE Latin1_General_CI_AS AS [Uppercase],
       NCHAR(505) COLLATE Latin1_General_CI_AS AS [Lowercase];

Hier is het resultatenoverzicht.

Kolomnaam Resultaat
Uppercase Ǹ
Lowercase ǹ

De eerste formulering toont zowel hoofd- als kleine letters van dit teken in de oudere collatie (collatie beïnvloedt de beschikbaarheid van tekens niet bij het werken met Unicode-data).

SELECT LOWER(NCHAR(504) COLLATE Latin1_General_CI_AS) AS [Version80Collation],
       LOWER(NCHAR(504) COLLATE Latin1_General_100_CI_AS) AS [Version100Collation];

Hier is het resultatenoverzicht.

Kolomnaam Resultaat
Version80Collation Ǹ
Version100Collation ǹ

De tweede uitspraak toont aan dat een hoofdletter wordt teruggegeven wanneer de collatie is Latin1_General_CI_AS, omdat dit codepunt geen kleine letter mapping heeft gedefinieerd in die collatie.

Bij het werken met sommige talen kan het cruciaal zijn om oudere collaties te vermijden. Dit geldt bijvoorbeeld voor Telegu.

In sommige gevallen kunnen Windows-collaties en SQL Server-collaties verschillende queryplannen genereren voor dezelfde query.

Voorbeelden

De volgende tabel beschrijft enkele voorbeelden van Windows-collatienamen.

Vergelijken/Rangschikking Description
Latin1_General_100_CI_AS Collatie gebruikt de Latin1 General woordenboeksorteerregels en zet het in kaart naar codepagina 1252. Het is een versie-collatie _100 , en is hoofdlettergevoelig (CI) en accentgevoelig (AS).
Estonian_CS_AS Collatie gebruikt de Estse woordenboeksorteerregels en mapt naar codepagina.1257 Het is een versie-collatie _80 (geïmpliceerd door geen versienummer in de naam), en is hoofdlettergevoelig (CS) en accentgevoelig (AS).
Japanese_Bushu_Kakusu_140_BIN2 Collatie gebruikt binaire code puntsorteerregels en mapt naar codepagina.932 Het is een versie-verzameling _140 , en de Japanse Bushu Kakusu-woordenboeksorteerregels worden genegeerd.

Windows-sorteringen

Om de Windows-collaties te vermelden die door jouw SQL Server-instantie worden ondersteund, voer je de volgende query uit.

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