2017-11-21
SQLServer覚書 比較設定
SQLServerはそのDB設定によって、大文字小文字や半角全角を意識しないとのこと。
つまり、’A’ = ’a’ は True になるわけ。
現在の設定を確認したい場合は、以下のようなSELECT文を実行する。
({DBNAME}のところに対象DB名を入れる)
SELECT DATABASEPROPERTYEX('{DBNAME}', 'collation');
これはこれでいいんだが、で、意識したいときはどうすんの?って話で、
SELECT * FROM foo WHERE x = 'X' COLLATE Japanese_CS_AS AND y = 'Y' COLLATE Japanese_BIN;
と、まぁこんな風に条件項目ごとに設定をしていくとのこと。
BINやCS、AS、KS等の違いは以下参照。
Windows 照合順序並べ替えスタイル