SQLクエリでのみ照合順序を変更する。
SQLServer2005で、SQLクエリのみで照合順序を変える方法
■準備
「#」付きテーブルは同一セッション上でのみ有効な一時テーブル
create table #tbl ( data varchar(2) ) insert into #tbl select 'a' as data union ALL select 'b' as data union ALL select 'c' as data union ALL select 'A' as data union ALL select 'B' as data union ALL select 'C' as data union ALL select 'A' as data union ALL select 'B' as data union ALL select 'C' as data
■全角半角・大文字小文字を厳密に区別する場合
select (data) collate Japanese_CS_AS_KS_WS, count(*) from #tbl group by (data) collate Japanese_CS_AS_KS_WS
→結果
data | count(*) |
---|---|
a | 1 |
A | 1 |
A | 1 |
b | 1 |
B | 1 |
B | 1 |
c | 1 |
C | 1 |
■全角半角・大文字小文字を厳密に区別しない場合
select data ,count(*) from #tbl group by (data) collate Japanese_CI_AS
→結果
data | count(*) |
---|---|
a | 3 |
B | 3 |
c | 3 |