(SQL)「いわき」と「イワキ」がGroupByでも区別されない
SqlServerの照合順序でひらがなとカタカナを区別しないモードにしていると、GroupByでも区別されない。
SQLServerの照合順序を「Japanese_CI_AS」と設定して使っている。これはひらがなとカタカナを区別しないモードなので、「いわき」と「イワキ」が区別されない。
なので「where name = 'いわき'」で「いわき」と「イワキ」の両方が見つかるのは知っていたが、GroupByでも区別されないのを見て、ちょっとびっくり。
下図では「いわき」に統合されて2件としてカウントされている。
まあ、当たり前なのですけど。
これを区別しようとしたら、照合モードを「Japanese_CI_AS_KS」にするとよいらしい。
データベースの設定を変えられないときは、select文で指定する手もある。たとえば、以下のような感じ。
うん、ちゃんと区別されました。
#ソースコードを飾ってくれるJSはすごいな。SQLだとちゃんと認識している。
SQLServerの照合順序を「Japanese_CI_AS」と設定して使っている。これはひらがなとカタカナを区別しないモードなので、「いわき」と「イワキ」が区別されない。
なので「where name = 'いわき'」で「いわき」と「イワキ」の両方が見つかるのは知っていたが、GroupByでも区別されないのを見て、ちょっとびっくり。
下図では「いわき」に統合されて2件としてカウントされている。
まあ、当たり前なのですけど。
これを区別しようとしたら、照合モードを「Japanese_CI_AS_KS」にするとよいらしい。
データベースの設定を変えられないときは、select文で指定する手もある。たとえば、以下のような感じ。
select [個人_分類1] COLLATE Japanese_CI_AS_KS, count(*) from mm40_d010_健診データ group by [個人_分類1] COLLATE Japanese_CI_AS_KS
うん、ちゃんと区別されました。
#ソースコードを飾ってくれるJSはすごいな。SQLだとちゃんと認識している。
コメント
コメントを投稿