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


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

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

Значок ссылки на раздел Синтаксические обозначения в Transact-SQL

Синтаксис

<Windows_collation_name> :: =  
     CollationDesignator_<ComparisonStyle>
<ComparisonStyle> :: =  
    { CaseSensitivity_AccentSensitivity 
        [ _KanatypeSensitive ] [ _WidthSensitive ]  }
  | { _BIN | _BIN2 }

Аргументы

  • CollationDesignator
    Указывает базовые параметры сортировки, используемые параметрами сортировки Windows. Правила базовых параметров сортировки отвечают за следующее.

    • Правила сортировки, применяемые, когда определена словарная сортировка. Правила сортировки основаны на алфавите или языке.

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

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

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

    • Турецкий язык использует кодовую страницу 1254.

  • CaseSensitivity
    CI определяет нечувствительность к регистру, CS определяет чувствительность к регистру.

  • AccentSensitivity
    AI означает, что диакритические знаки пропускаются, AS показывает, что они учитываются.

  • KanatypeSensitive
    Omitted определяет порядок следования без учета типов японской азбуки, KS определяет порядок следования, учитывающий тип японской азбуки.

  • WidthSensitivity
    Omitted определяет нечувствительность к ширине символов, WS определяет чувствительность к ширине символов.

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

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

Замечания

В зависимости от версии сортировок некоторые кодовые точки могут быть неопределенными. Например, сравним:

SELECT LOWER(nchar(504) COLLATE Latin1_General_CI_AS); 
SELECT LOWER (nchar(504) COLLATE Latin1_General_100_CI_AS);
GO

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

При работе с определенными языками может быть важно избегать старых сортировок. Это верно, к примеру, для языка телугу.

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

Примеры

Ниже приведены некоторые примеры имен параметров сортировки Windows.

  • Latin1_General_100_

Параметры сортировки используют правила сортировки словаря Latin1 General, кодовую страницу 1252. Без учета регистра, с учетом диакритических знаков. Параметры сортировки используют правила сортировки словаря Latin1 General и ставят в соответствие кодовую страницу 1252. Показывает номер версии параметров сортировки, если это параметры сортировки Windows: _90 или _100. Без учета регистра (CI), с учетом диакритических знаков (AS).

  • Estonian_CS_AS

    Параметры сортировки используют правила сортировки словаря Estonian, кодовую страницу 1257. С учетом регистра, с учетом диакритических знаков.

  • Latin1_General_BIN

    Параметры сортировки используют кодовую страницу 1252 и правила двоичной сортировки. Правила сортировки словаря Latin1 General не учитываются.

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

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

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

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

Локаль Windows

Версия параметров сортировки 100

Версия параметров сортировки 90

Эльзасский (Франция)

Latin1_General_100_

Недоступно

Амхарик (Эфиопия)

Latin1_General_100_

Недоступно

Армянский (Армения)

Cyrillic_General_100_

Недоступно

Ассамский (Индия)

Assamese_100_1

Недоступно

Башкирский (Россия)

Bashkir_100_

Недоступно

Баскский

Latin1_General_100_

Недоступно

Бенгальский (Бангладеш)

Bengali_100_1

Недоступно

Бенгальский (Индия)

Bengali_100_1

Недоступно

Боснийский (Босния и Герцеговина, кириллица)

Bosnian_Cyrillic_100_

Недоступно

Боснийский (Босния и Герцеговина, латиница)

Bosnian_Latin_100_

Недоступно

Бретонский (Франция)

Breton_100_

Недоступно

Китайский (Макао, САР)

Chinese_Traditional_Pinyin_100_

Недоступно

Китайский (Макао, САР)

Chinese_Traditional_Stroke_Order_100_

Недоступно

Китайский (Сингапур)

Chinese_Simplified_Stroke_Order_100_

Недоступно

Корсиканский (Франция)

Corsican_100_

Недоступно

Хорватский (Босния и Герцеговина, латиница)

Croatian_100_

Недоступно

Дари (Афганистан)

Dari_100_

Недоступно

Английский (Индия)

Latin1_General_100_

Недоступно

Английский (Малайзия)

Latin1_General_100_

Недоступно

Английский (Сингапур)

Latin1_General_100_

Недоступно

Филиппинский (Филиппины)

Latin1_General_100_

Недоступно

Фризский (Нидерланды)

Frisian_100_

Недоступно

Грузинский (Грузия)

Cyrillic_General_100_

Недоступно

Гренландский (Гренландия)

Danish_Greenlandic_100_

Недоступно

Гуджарати (Индия)

Indic_General_100_1

Indic_General_90_

Хауса (Нигерия, латиница)

Latin1_General_100_

Недоступно

Хинди (Индия)

Indic_General_100_1

Indic_General_90_

Игбо (Нигерия)

Latin1_General_100_

Недоступно

Инуитский (Канада, латиница)

Latin1_General_100_

Недоступно

Инуитский (Канада)

Latin1_General_100_

Недоступно

Ирландский (Ирландия)

Latin1_General_100_

Недоступно

Японский (Япония)

Japanese_XJIS_100_

Japanese_90_, Japanese_

Японский (Япония)

Japanese_Bushu_Kakusu_100_

Недоступно

Каннада (Индия)

Indic_General_100_1

Indic_General_90_

Кхмерский (Камбоджа)

Khmer_100_1

Недоступно

Киче (Гватемала)

Modern_Spanish_100_

Недоступно

Киньяруанда (Руанда)

Latin1_General_100_

Недоступно

Конкани (Индия)

Indic_General_100_1

Indic_General_90_

Лаосский (Лаосская Народно-Демократическая Республика)

Lao_100_1

Недоступно

Нижний Сорбский (Германия)

Latin1_General_100_

Недоступно

Люксембургский (Люксембург)

Latin1_General_100_

Недоступно

Малайялам (Индия)

Indic_General_100_1

Недоступно

Мальтийский (Мальта)

Maltese_100_

Недоступно

Маорийский (Новая Зеландия)

Maori_100_

Недоступно

Мапудунгун (Чили)

Mapudungan_100_

Недоступно

Маратхи (Индия)

Indic_General_100_1

Indic_General_90_

Могавк (Канада)

Mohawk_100_

Недоступно

Монгольский (КНР)

Cyrillic_General_100_

Недоступно

Непальский (Непал)

Nepali_100_1

Недоступно

Норвежский (букмол, Норвегия)

Norwegian_100_

Недоступно

Норвежский (нюнорск/ландсмол, Норвегия)

Norwegian_100_

Недоступно

Окситанский (Франция)

French_100_

Недоступно

Ория (Индия)

Indic_General_100_1

Недоступно

Пушту (Афганистан)

Pashto_100_1

Недоступно

Персидский (Иран)

Persian_100_

Недоступно

Панджабский (Индия)

Indic_General_100_1

Indic_General_90_

Кечуа (Боливия)

Latin1_General_100_

Недоступно

Кечуа (Эквадор)

Latin1_General_100_

Недоступно

Кечуа (Перу)

Latin1_General_100_

Недоступно

Романш (Швейцария)

Romansh_100_

Недоступно

Саамский (Инари, Финляндия)

Sami_Sweden_Finland_100_

Недоступно

Саамский (Луле, Норвегия)

Sami_Norway_100_

Недоступно

Саамский (Луле, Швеция)

Sami_Sweden_Finland_100_

Недоступно

Саамский (Северный, Финляндия)

Sami_Sweden_Finland_100_

Недоступно

Саамский (Северный, Норвегия)

Sami_Norway_100_

Недоступно

Саамский (Северный, Швеция)

Sami_Sweden_Finland_100_

Недоступно

Саамский (Скольт, Финляндия)

Sami_Sweden_Finland_100_

Недоступно

Саамский (Южный, Норвегия)

Sami_Norway_100_

Недоступно

Саамский (Южный, Швеция)

Sami_Sweden_Finland_100_

Недоступно

Санскрит (Индия)

Indic_General_100_1

Indic_General_90_

Сербский (Босния и Герцеговина, кириллица)

Serbian_Cyrillic_100_

Недоступно

Сербский (Босния и Герцеговина, латиница)

Serbian_Latin_100_

Недоступно

Сербский (Сербия, кириллица)

Serbian_Cyrillic_100_

Недоступно

Сербский (Сербия, латиница)

Serbian_Latin_100_

Недоступно

Сесуто са Лебоа/Северный Суто (Южная Африка)

Latin1_General_100_

Недоступно

Сетсвана/Тсвана (Южная Африка)

Latin1_General_100_

Недоступно

Синхала (Шри-Ланка)

Indic_General_100_1

Недоступно

Суахили (Кения)

Latin1_General_100_

Недоступно

Сирийский (Сирия)

Syriac_100_1

Syriac_90_

Таджикский (Таджикистан)

Cyrillic_General_100_

Недоступно

Тамазихт (Алжир, латиница)

Tamazight_100_

Недоступно

Тамильский (Индия)

Indic_General_100_1

Indic_General_90_

Телугу (Индия)

Indic_General_100_1

Indic_General_90_

Тибетский (КНР)

Tibetan_100_1

Недоступно

Туркменский (Туркменистан)

Turkmen_100_

Недоступно

Уйгурский (КНР)

Uighur_100_

Недоступно

Верхний Сорбский (Германия)

Upper_Sorbian_100_

Недоступно

Урду (Пакистан)

Urdu_100_

Недоступно

Валлийский (Великобритания)

Welsh_100_

Недоступно

Волоф (Сенегал)

French_100_

Недоступно

Коса/исиКоса (Южная Африка)

Latin1_General_100_

Недоступно

Якутский (Россия)

Yakut_100_

Недоступно

Ий (КНР)

Latin1_General_100_

Недоступно

Йоруба (Нигерия)

Latin1_General_100_

Недоступно

Зулу/исиЗулу (Южная Африка)

Latin1_General_100_

Недоступно

Устарело. Отсутствует на уровне сервера в SQL Server 2008 и более поздних версиях

Хинди

Хинди

Устарело. Отсутствует на уровне сервера в SQL Server 2008 и более поздних версиях

Korean_Wansung_Unicode

Korean_Wansung_Unicode

Устарело. Отсутствует на уровне сервера в SQL Server 2008 и более поздних версиях

Lithuanian_Classic

Lithuanian_Classic

Устарело. Отсутствует на уровне сервера в SQL Server 2008 и более поздних версиях

Macedonian

Macedonian

1 Параметры сортировки Windows «Только для Юникода» можно применять только к данным на уровне столбца или уровне выражения. Они не могут использоваться в качестве параметров сортировки базы данных или сервера.

2 Как и при сортировке в Китайском (Тайвань), в Китайском (Макао) используются правила упрощенного китайского языка, но в отличие от Китайского (Тайвань) используется кодовая страница 950.

См. также

Справочник

ALTER TABLE (Transact-SQL)

Константы (Transact-SQL)

CREATE DATABASE (Transact-SQL)

Инструкция CREATE TABLE (Transact-SQL)

DECLARE @local\_variable (Transact-SQL)

table (Transact-SQL)

sys.fn_helpcollations (Transact-SQL)

Основные понятия

Поддержка параметров сортировки и Юникода