記事内に広告が含まれています。

【SQL Server】照合順序のメモ

SQL Server における照合順序のメモです。

【スポンサーリンク】

照合順序とは?

SQL Server における照合順序とは、データの比較やソートの方法を定義するものです。テキストデータの方法(どのように比較するか)、ソートするかを決めるもので、検索結果の順番やソートした時の結果に影響が出ます。

データベースでデフォルトで設定されている照合順序を基本としますが、クエリ内で明示的に指定した場合は、クエリ内で指定した照合順序が優先されます。

【スポンサーリンク】

照合順序の確認クエリ

照合順序はデータベースごとに設定されています。確認クエリは以下。

SELECT DATABASEPROPERTYEX('データベース名', 'Collation')

これを実行すると、データベースに設定されている照合順序を確認することが出来ます。

マイクロソフトがサンプルで提供しているデータベースの照合順序は、「SQL_Latin1_General_CP1_CI_AS」ですね。

【スポンサーリンク】

照合順序の構成

照合順序の構成ですが、

Windows ロケール + オプション

という組み合わせです。

「SQL_Latin1_General_CP1_CI_AS」の場合、

  • ロケール:SQL_Latin1_General_CP1_CI ←英語(米国)
  • オプション:_AS ←アクセントを区別する

となります。「SQL_Latin1_General_CP1_CI_AS」の場合は、「米国英語&アクセント区別」が照合順序ということです。

【スポンサーリンク】

照合順序のオプション

照合順序のオプションは以下の通り。

オプション 内容
_CS 大文字と小文字を区別する
_AS アクセントを区別する
_KS かなを区別する
_WS 文字幅を区別する
_VSS バリエーションの選択を区別する
_BIN バイナリ
_BIN2 バイナリコード ポイント
_UTF8 UTF-8

ロケールの後に指定すれば、照合順序となります。

例えば、「Japanese_BIN」という ロケール+オプション の場合、日本語のデータをバイナリで比較することになります。