HOME >> Tips >> Microsoft SQL Server

テーブル作成時に照合順序を列ごとに指定する方法

2016/6/5
文書番号:20507

通常、テーブルを作成するとデータベースの既定の照合順序が指定されます。

データベースの既定の照合順序は SQL Server Management Studio でデータベースへ接続し、データベースサーバーを右クリックして「プロパティ」を開くと確認することができます。

クリックで拡大

このデータベースの既定の照合順序以外を指定してテーブルを作成する場合は以下のように列ごとに照合順序を指定して作成します。

 CREATE TABLE テーブル1(
      列1  char(4)     collate Japanese_CI_AS
     ,列2  smallint
     ,列3  date
     ,列4  varchar(50) collate Japanese_CI_AS
 )

照合順序を指定できるのは文字列型のデータ型の場合です。
int や date などの文字列型以外では指定できません。(必要ありません)

照合順序の設定は一時テーブル(#テーブル や ##テーブル)でも有効です。

【照合順序のオプション】

  • 照合順序を指定する書式
    
    書式: Japanese_BIN,Japanese_BIN2
    書式: Japanese_(CI | CS)_(AI | AS)[(_KS | _WS | _KS_WS)]
    
    オプション 説明
    BIN バイナリで比較し、すべて区別します。
    BIN2 バイナリコードで比較し、すべて区別します。
    BIN と BIN2 の違いは以下のページをを参照してください。
    [technet] BIN 照合順序と BIN2 照合順序の使用に関するガイドライン
    CI 大文字と小文字を区別しません。「A」と「a」は同じです。
    CS 大文字と小文字を区別します。「A」と「a」を区別します。
    AI アクセント、濁音、半濁音を区別しません。「は」と「ば」と「ぱ」は同じです。
    AS アクセント、濁音、半濁音を区別します。「は」と「ば」と「ぱ」を区別します。
    KS ひらがなとカタカナを区別します。「あ」と「ア」を区別します。
    WS 半角と全角を区別します。「A」と「A」を区別します。