Поделиться через


Имя сортировки Windows (Transact-SQL)

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure конечной точке аналитики платформы Аналитики Azure Synapse Analytics (PDW) в Microsoft Fabric Хранилище в Microsoft Fabric

Указывает имя сортировки Windows в предложении COLLATE в SQL Server. Имя параметра сортировки Windows состоит из двух частей: обозначения параметров сортировки и стиля сравнения.

Соглашения о синтаксисе Transact-SQL

Синтаксис

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

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

Аргументы

CollationDesignator

Указывает базовые параметры сортировки, используемые параметрами сортировки Windows. Правила параметров сортировки базы:

  • Правила сортировки и сравнения, применяемые, когда определена словарная сортировка. Правила сортировки основаны на алфавите или языке.
  • Кодовую страницу, используемую для хранения данных типа varchar.

Некоторые примеры:

  • Latin1_General или French: оба используют кодовую страницу 1252.
  • Turkish: использует кодовую страницу 1254.

CaseSensitivity

CIуказывает регистр без учета регистра. CS

AccentSensitivity

AI задает нечувствительный акцент, AS определяет акцентно-чувствительный.

KanatypeSensitive

Опущение этого параметра указывает kanatype-insensitive, KS указывает kanatype-sensitive.

WidthSensitivity

Опущение этого параметра указывает нечувствительный ширины, WS определяет ширину с учетом ширины.

VariationSelectorSensitivity

Область применения: SQL Server 2017 (14.x) и более поздних версий

Опущение этого параметра указывает селектор вариантов без учета, указывает селектор вариантов с VSS учетом селектора.

UTF8

Область применения: SQL Server 2019 (15.x) и более поздних версий

Указывает кодировку UTF-8, используемую для допустимых типов данных. Дополнительные сведения см. в разделе о поддержке сортировки и Юникода.

{ BIN | BIN2 }

  • BIN указывает порядок сортировки двоичного файла, совместимого с обратной совместимостью.
  • BIN2 указывает порядок двоичной сортировки, использующий семантику сравнения точек кода.

Замечания

В зависимости от версии сортировки некоторые точки кода могут не иметь весов сортировки или сопоставлений верхнего или нижнего регистра. Например, сравните выходные данные LOWER функции при указании одного и того же знака, но в разных версиях одного и того же параметров сортировки:

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

Вот результирующий набор.

Имя столбца Результат
Uppercase Ǹ
Lowercase ǹ

Первая инструкция показывает как верхний регистр, так и строчные формы этого символа в более старой сортировке (параметры сортировки не влияют на доступность символов при работе с данными Юникода).

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

Вот результирующий набор.

Имя столбца Результат
Version80Collation Ǹ
Version100Collation ǹ

Во втором операторе показано, что символ верхнего регистра возвращается при сортировке Latin1_General_CI_AS, так как эта точка кода не имеет нижнего регистра сопоставления, определенного в этом параметров сортировки.

При работе с некоторыми языками, может быть крайне необходимым избегать прошлых сортировок. Например, это является верным для Telegu.

В некоторых случаях параметры сортировки Windows и параметры сортировки SQL Server могут создавать разные планы запросов для одного запроса.

Примеры

В следующей таблице описаны некоторые примеры имен параметров сортировки Windows.

Параметры сортировки Description
Latin1_General_100_CI_AS Параметры сортировки используют правила сортировки общих словарей Latin1 и сопоставляют с кодовой страницей 1252. Это параметры сортировки версий _100 и не учитывает регистр (CI) и учитывает акцент (AS).
Estonian_CS_AS Параметры сортировки используют правила сортировки словаря и сопоставляют кодовую страницу 1257. Это параметры сортировки версий _80 (подразумеваемые без номера версии в имени) и учитывает регистр (CS) и учитывает акцент (AS).
Japanese_Bushu_Kakusu_140_BIN2 Параметры сортировки используют правила сортировки точек двоичного кода и сопоставляют кодовую страницу 932. Это параметры сортировки версий _140 , и правила сортировки словаря Kakusu для японского Бушу-Кусу игнорируются.

Параметры сортировки Windows

Чтобы получить список параметров сортировки Windows, поддерживаемых экземпляром SQL Server, выполните следующий запрос.

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