SQL の検索条件内で照合順序を指定する方法(大文字、小文字を区別する/しない など)
2014/9/13
文書番号:20318
SQL の検索条件内で照合順序を指定する方法について
データベースの標準の照合順序とは異なる照合順序を指定して検索する。
【照合順序の設定を確認する】
- データベースのデフォルトの照合順序を確認する方法
SELECT SERVERPROPERTY('collation') --------------------------------------- Japanese_CI_AS
【照合順序を指定してテーブルを作成する】
- 特定の照合順序を指定してテーブルを作成する方法
※列ごとに指定します。
CREATE TABLE テーブル名 ( 列名1 nchar(4) COLLATE Japanese_BIN ,列名1 nvarchar(20) COLLATE Japanese_BIN )
【COLLATEを指定して検索する】
- SQL を実行するときに明示的に照合順序を指定して検索します。
SELECT * FROM テーブルA WHERE 項目名 = '値' COLLATE Japanese_CS_AS
【照合順序のオプション】
- 照合順序を指定する書式
書式: 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」を区別します。
【参考情報】
[technet] Windows 照合順序並べ替えスタイル
http://technet.microsoft.com/ja-jp/library/ms143515(v=sql.105).aspx
[technet] BIN 照合順序と BIN2 照合順序の使用に関するガイドライン
http://technet.microsoft.com/ja-jp/library/ms143350(v=sql.105).aspx
[MSDN] COLLATE (Transact-SQL)
http://msdn.microsoft.com/ja-jp/library/ms184391.aspx
[MSDN] 列の照合順序の設定または変更
http://msdn.microsoft.com/ja-jp/library/ms190920.aspx
http://technet.microsoft.com/ja-jp/library/ms143515(v=sql.105).aspx
[technet] BIN 照合順序と BIN2 照合順序の使用に関するガイドライン
http://technet.microsoft.com/ja-jp/library/ms143350(v=sql.105).aspx
[MSDN] COLLATE (Transact-SQL)
http://msdn.microsoft.com/ja-jp/library/ms184391.aspx
[MSDN] 列の照合順序の設定または変更
http://msdn.microsoft.com/ja-jp/library/ms190920.aspx