Sdílet prostřednictvím


Název kolekce Windows (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Koncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Specifikuje název koleze Windows v klauzuli COLLATE SQL Serveru. Název třídění Windows se skládá z označovače třídění a srovnávacích stylů.

Transact-SQL konvence syntaxe

Syntaxe

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

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

Arguments

CollationDesignator

Specifikuje základní pravidla třídění používaná Windows kolekcí. Základní pravidla kolace pokrývají:

  • Pravidla třídění a porovnání, která se používají při specifikaci slovníkového třídění. Pravidla třídění jsou založena na abecedě nebo jazyce.
  • Kódová stránka používaná pro ukládání varcharových dat.

Mezi příklady patří:

  • Latin1_General nebo French: obě používají kódovou stránku 1252.
  • Turkish: používá kódovou stránku 1254.

CaseSensitivity

CIspecifikuje citlivost na velká písmena, specifikuje citlivost na velká písmena. CS

AccentSensitivity

AI specifikuje citlivost AS na přízvuk, specifikuje citlivost na přízvuk.

KanatypeSensitive

Vynechání této možnosti specifikuje kanatypově necitlivé, specifikuje KS kanatypově citlivé.

WidthSensitivity

Vynechání této možnosti specifikuje šířkově necitlivé, WS specifikuje šířkově citlivé.

VariationSelectorSensitivity

Platí pro: SQL Server 2017 (14.x) a novější verze

Vynechání této možnosti specifikuje variace necitlivé na výběr, specifikuje variační selektor citlivost. VSS

UTF8

Platí na: SQL Server 2019 (15.x) a novější verze

Specifikuje kódování UTF-8, které má být použito pro způsobilé datové typy. Další informace najdete v tématu podpora kolace a kódování Unicode.

{ BIN | BIN2 }

  • BIN specifikuje zpětně kompatibilní binární pořadí třídění, které se použije.
  • BIN2 specifikuje binární pořadí třídění, které využívá sémantiku porovnávání kódových bodů.

Poznámky

V závislosti na verzi kolace nemusí některé kódové body mít třídění váhy nebo definované mapování velkými a malými písmeny. Například porovnejte výstup LOWER funkce, když má stejný znak, ale v různých verzích stejné kolekce:

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

Tady je soubor výsledků.

Název sloupce Result
Uppercase Ǹ
Lowercase ǹ

První příkaz ukazuje jak velká, tak malá písmena tohoto znaku ve starší kolaci (kolace neovlivňuje dostupnost znaků při práci s Unicode daty).

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

Tady je soubor výsledků.

Název sloupce Result
Version80Collation Ǹ
Version100Collation ǹ

Druhý výrok ukazuje, že při kolaci Latin1_General_CI_ASje vráceno velké písmeno, protože tento kódový bod nemá v této kolaci definované mapování malými písmeny.

Při práci s některými jazyky může být zásadní vyhnout se starším kolacím. Například to platí pro Telegu.

V některých případech mohou kolace Windows a SQL Server generovat různé plány dotazů pro stejný dotaz.

Examples

Následující tabulka popisuje některé příklady názvů třídění ve Windows.

Collation Description
Latin1_General_100_CI_AS Kolace používá pravidla třídění Latin1 General slovníku a mapuje na kódovou stránku 1252. Je to kolace verzí _100 , která je necitlivá na velká písmena (CI) ani na přízvuk (AS).
Estonian_CS_AS Kolace používá pravidla třídění estonského slovníku a mapuje na kódovou stránku 1257. Jedná se o kolaci verzí _80 (což není naznačeno žádným číslem verze v názvu) a je citlivá na velká písmena (CS) a přízvuk (AS).
Japanese_Bushu_Kakusu_140_BIN2 Kolace používá binární pravidla třídění kódových míst a mapuje na kódovou stránku 932. Je to kolace verzí _140 a pravidla třídění japonského slovníku Bushu Kakusu jsou ignorována.

Kolace Windows

Pro seznam Windows kolací podporovaných vaší instancí SQL Serveru spustite následující dotaz.

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