sql - 不区分大小写的架构对象名称,带有区分大小写的比较

标签 sql sql-server schema collation case-sensitive

有什么办法可以混大小写不敏感 带大小写的架构对象名称 敏感 SQL Server 中的比较?

我的数据库中的所有字符串列都使用 CS(区分大小写)排序规则,但是我无法在数据库级别切换到 CS 排序规则,因为它是由在其进行的查询中使用不一致的模式对象名称大小写的遗留应用程序管理的。

例如,我需要以下查询才能成功执行并返回 0:

select count(*) from PeRsOn where 'A' = 'a'

最佳答案

您还可以为文字指定排序规则,然后使用它代替在实例、数据库或列级别上指定的排序规则:

SELECT count(*) 
FROM PeRsOn 
WHERE 'A' COLLATE Latin1_General_CS_AS = 'a' COLLATE Latin1_General_CS_AS

关于sql - 不区分大小写的架构对象名称,带有区分大小写的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11202725/

相关文章:

database - 来自模式的 Postgresql 列信息,包括描述

具有多个字段的 XML 架构键

sql - 选择 column2 不等于 column1 的行

mysql - MYSQL groupb函数中的条件输出

SQL Server 按不同列分组并创建新变量

sql - 如何从 SQL Server 数据库获取最近添加的存储过程列表

c# - 带有重复项的 Linq-To-Sql 批量更新

MySql GROUP BY + IN 性能

sql-server - 获取表列表的总大小

mysql - 引用列是否应该限制在单个表中?