Windows 照合順序名 (Transact-SQL)

SQL Server 2012 で COLLATE 句に Windows 照合順序名を指定します。 Windows 照合順序名は、照合順序指定子と比較形式で構成されます。

トピック リンク アイコン Transact-SQL 構文表記規則

構文

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

引数

  • CollationDesignator
    Windows 照合順序で使用される基本照合順序規則を指定します。 基本照合順序規則には、次の要素が含まれます。

    • 辞書順での並べ替えを指定した場合に適用される並べ替え規則。 並べ替え規則は、アルファベットまたは言語に基づきます。

    • Unicode 以外の文字データの格納に使用するコード ページ。

    次にいくつかの例を挙げます。

    • Latin1_General および French: 両方ともコード ページ 1252 が使用されます。

    • Turkish: コード ページ 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 一般辞書の並べ替え規則とコード ページ 1252 が使用されます。 大文字と小文字は区別されず、アクセントは区別されます。 照合順序に、Latin1 一般辞書の並べ替え規則が使用され、コード ページ 1252 と対応付けられます。 Windows 照合順序の場合は、照合順序のバージョン番号 (_90 または _100) が表示されます。 大文字と小文字は区別されず (CI)、アクセントは区別されます (AS)。

  • Estonian_CS_AS

    照合順序に、エストニア語辞書の並べ替え規則とコード ページ 1257 が使用されます。 大文字と小文字およびアクセントが区別されます。

  • Latin1_General_BIN

    照合順序に、コード ページ 1252 とバイナリ並べ替え規則が使用されます。 Latin1 一般辞書の並べ替え規則は無視されます。

Windows 照合順序

SQL Server インスタンスでサポートされている Windows 照合順序の一覧を表示するには、次のクエリを実行します。

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

次の表に、SQL Server 2012 でサポートされるすべての Windows 照合順序を示します。

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_

使用不可

日本語 (日本 XJIS)

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_

使用不可

モンゴル語 (PRC)

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_

チベット語 (PRC)

Tibetan_100_1

使用不可

トルクメン語 (トルクメニスタン)

Turkmen_100_

使用不可

ウイグル語 (PRC)

Uighur_100_

使用不可

上ソルブ語 (ドイツ)

Upper_Sorbian_100_

使用不可

ウルドゥー語 (パキスタン)

Urdu_100_

使用不可

ウェールズ語 (英国)

Welsh_100_

使用不可

ウォロフ語 (セネガル)

French_100_

使用不可

コサ語 (南アフリカ)

Latin1_General_100_

使用不可

ヤクート語 (ロシア)

Yakut_100_

使用不可

イ語 (PRC)

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 Unicode 専用の 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)

概念

照合順序と Unicode のサポート