プログラムメモ

ちょっとしたサンプルや備忘録的な何かをメモ。

sqlserver 大小文字の区別

SqlServerはデフォルトで大小文字を区別しないらしい。

no column1
1 XXX
2 xxx


select * from hoge where column1 = 'xxx'
だと両方拾ってしまう。

 

で、無理やり区別させるためにwhere句の最後にこのように追加する

 

select * from hoge where column1 = 'xxx'
COLLATE Japanese_CS_AS_KS_WS

 

と大小文字を区別するため、「xxx」の項目のみ取得できる。

 

ちなみに、以下のようなルールらしい。
・CI 大小文字を区別しない。
・CS 大小文字を区別する。
・AI アクセント、濁音、破裂音を区別しない。
・AS アクセント、濁音、破裂音を区別する。
・KS ひらがなとカタカナを区別する。半角でも区別する
・WS 文字幅(全角半角)を区別する。