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

标签 sql-server tsql case-sensitive

我有一个源自旧遗留系统的表,该系统区分大小写,特别是状态列,其中“s”=“计划导入”和“S”=“计划管理”。该表最终进入 SQL Server 2000 数据库,我可以对其进行查询。我的查询相对简单,只是用于计数...

Select trans_type, count(1) from mytable group by trans_type

这会将“S”计数与“s”计数分组。有没有办法强制查询对大小写敏感?我可以访问 SQL Server 2000 和 2005 环境来运行它,但是服务器上的管理能力有限(所以我无法设置服务器属性)...我想我可以将数据移动到本地并在在我的本地,我可以完全访问服务器选项,但更喜欢 tsql 解决方案。

最佳答案

select trans_type collate SQL_Latin1_General_CP1_CS_AS, count(*)
from mytable
group by trans_type collate SQL_Latin1_General_CP1_CS_AS

您也可以使用 =like 以及其他运算符来完成此操作。请注意,您必须修改选择列表,因为您不再按 trans_type 分组,而是按 trans_type collat​​e SQL_Latin1_General_CP1_CS_AS 分组。有点陷阱。

关于sql-server - 在 MS 中强制 T-SQL 查询区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3859085/

相关文章:

sql-server - Excel.Application 不能使用 SQL 作业在 PowerShell 中运行,但可以从命令行运行

sql - 投影内相关子查询排序的影响

tsql - 从大表中使用 LIKE 选择时,SQL Server 2012 性能不佳

mysql - H2 varchar 列区分大小写

notepad++ - 如何在Notepad++中将大写字母转换为小写字母

sql-server - 将表中的一行拆分为多行

sql-server - 为什么 COALESCE 返回 NULL 而不是我需要的值?

SQL 帮助 我是否可以使用下午 5 点到第二天早上 7 点之间的日期对数据库运行查询?

sql-server - 将 xlsx 表读入 SQL Server 数据库表中的代码

mysql - 函数在不同的服务器上变得区分大小写