强制T-SQL查询在MS中区分大小写

Twe*_*fth 16 t-sql sql-server case-sensitive

我有一个表来源于一个案例敏感的旧遗留系统,特别是一个状态列,其中's'='计划导入'和'S'='计划管理'.这个表最终进入了我可以查询的SQL Server 2000数据库.我的查询相对简单,只是计算...

Select trans_type, count(1) from mytable group by trans_type
Run Code Online (Sandbox Code Playgroud)

这是将'S'的计数与's'计数分组.有没有办法强制查询是封顶敏感的?我同时访问SQL Server 2000和2005和环境中运行这一点,但是在服务器(所以我不能设置服务器属性)......我想我可以将数据移动到我的本地和设置上的东西有限的管理能力我的本地我可以完全访问服务器选项,但更喜欢tsql解决方案.

Ian*_*nry 27

select trans_type collate SQL_Latin1_General_CP1_CS_AS, count(*)
from mytable
group by trans_type collate SQL_Latin1_General_CP1_CS_AS
Run Code Online (Sandbox Code Playgroud)

您也可以使用=,like和其他运算符执行此操作.请注意,您必须修改选择列表,因为您不再对其进行分组trans_type,您现在正在进行分组trans_type collate SQL_Latin1_General_CP1_CS_AS.有点儿了.