読者です 読者をやめる 読者になる 読者になる

SQL Server の照合順序

サポートされる照合順序:

 Windows 照合順序:
  Windows ロケールに基づくコードページ、並べ替え規則、比較規則が用いられる。
  Unicode と非 Unicode データ型は同じように並べ替えられる。

 バイナリ照合順序:
  コードポイントに基づく。
  Unicode と非 Unicode データ型は異なるコードポイントのため、異なった並び順になる。

 SQL Server 照合順序:
  6.5 以前並べ替え順。"SQL_" で始まる。非 Unicode データについて、Windows と互換性がない。

照合順序には名前とオプションとバージョンがある

名前:

 Japanese_Unicode
  SQL Server 7.0 との互換性のためだけに残されている。
 Japanese:
  バージョンなし(80)、90 に対応
 Japanese_XJIS:
  バージョン 100 に対応。
  (Japanese の 100 版)
 Japanese_Bushu_Kakusu:
  バージョン 100 に対応。
  (部首画数順)

オプション:

 CS(CaseSensitivity):
  大文字と小文字を区別する。
  区別しない場合は CI 。

 AS(AccentSensitivity):
  アクセントを区別する。
  日本語の場合は清音と濁音・半濁音の区別。区別しない場合は AI 。

 KS(KanatypeSensitive):
  ひらがなとカタカナを区別する。
  区別しない場合はオプションを指定しない。

 WS(WidthSensitivity):
  1 バイト文字と 2 バイト文字を区別する。(w と w 等)
  区別しない場合はオプションを指定しない。

 SC:
  Supplementary Character(補助文字)を認識するかどうかを区別する。
  文字数を返す LEN 等の動作に影響する。
  区別しない場合はオプションを指定しない。

 BIN:
  バイナリ並べ替え順。SQL Server 2000 以前の古いバージョンとの互換目的。
  (最初の一文字のみコードポイントで比較、以降はバイトごとに比較)

 BIN2:
  すべての文字をコードポイントで比較する。

バージョン:

 記載なし(80):
  SQL Server 2000
  Unicode 2.0
 90:
  SQL Server 2005
  Unicode 3.2
 100:
  SQL Server 2008
  Unicode 5.0

参考:

MSDN Blogs
照合順序と Unicode のサポート
照合順序の種類
Windows 照合順序並べ替えスタイル
SQL Server 2012 で追加された照合順序で何ができるようになった? | SE の雑記