照合順序


●照合順序の種類


インスタンスの照合順序
インスタンス作成時に設定。一度設定するとすべてのデータベースを作成しなおさなければ変更できない。


・データベースの照合順序
→データベース作成時に設定。
 作成後にも変更可能だが既に作成済のテーブルの照合順序は変更されない。
 もし、変更したい場合はテーブルを作成し直す必要がある。


カラムの照合順序
→カラム作成時に設定。作成後に変更できない。


最終的に有効になるのはカラムの照合順序みたい。



●照合順序のサフィックス


照合順序の意味は以下のサフィックスのルールで決定されている。


_CI
・・・大文字・小文字を区別しない


_CS
・・・大文字・小文字を区別する


_KS
・・・ひらがな・カタカナを区別する


_WS
・・・半角・全角を区別する


_AS
・・・アクセント(濁音、半濁音)を区別する



ちなみにデフォルトは「Japanese_CI_AS」。



●COLLATE句


COLLATE句でSQL実行時に照合順序を指定することもできる。

select		*
from		customer
where		customer_name like 'ハ%' COLLATE Japanese_CI_AS


照合順序の優先順位
http://msdn.microsoft.com/ja-jp/library/ms179886.aspx

サーバー照合順序の設定と変更
http://msdn.microsoft.com/ja-jp/library/ms179254.aspx




動作確認環境:SQL Server 2008 Express Edition