SQLServerで英字の大文字と小文字を区別して検索する
SQLServerで英字の大文字と小文字を区別して検索する方法について紹介します。
コーディング例
BEGIN CREATE TABE TEST( Memo VARCHAR(MAX) ); INSERT INTO TEST VALUES('a') VALUES('A'); SELECT * FROM TEST WHERE Memo = 'a'; SELECT * FROM TEST WHERE Memo COLLATE Japanese_CS_AS = 'a'; DROP TABLE TEST; END
実行結果
Memo |
---|
a |
A |
Memo |
---|
a |
SQLServerには「照合順序」というものがあります。
これは文字の大小関係を比較する際の基準となる規則です。
デフォルトの照合順序は「Japanese_CI_AS」というもので、英字の大文字と小文字を区別しません。
「Japanese_CS_AS」という照合順序を指定すると、英字の大文字と小文字を区別することができます。
9行目ではデフォルトの照合順序「Japanese_CI_AS」を使用して「a」を検索するので、「a」と「A」がヒットします。
11行目ではCOLLATE句により、照合順序「Japanese_CS_AS」を指定することで、英字の大文字と小文字を区別して検索することができます。
以上、SQLServerで英字の大文字と小文字を区別して検索する方法についての紹介でした。