【发布时间】:2016-09-30 09:56:14
【问题描述】:
我正在将数据库和 etl 从 MySQl 迁移到 SQL Server,并且遇到了区分大小写的问题。 在 MySql 中,数据库设置为区分大小写,因为我们从中加载的应用程序之一在一组中具有像“Divh”和“divh”这样的代码(这不是我做的) 一切都很好,etl 中的 select 语句、查询报告等都使用了作者想要的关于 case 的任何内容 - 有些都是 UPPER 一些都是最低混合的。 所以,换句话说,MYSql 有不区分大小写的 DDL 和 SQL,但允许区分大小写的数据。
SQL Server 似乎无法适应这种情况。如果我选择 CI 排序规则,则所有表和列以及数据(大概)都是不敏感的。 反之亦然 - 如果它的 CS 一切都区分大小写。 我读对了吗? 如果是这样,那么我要么必须更改数据库中每个文本列的排序规则 或编辑每个查询。
具有讽刺意味的是,第一次测试是针对使用相同排序规则 (SQL_Latin1_General_CP1_CS_AS) 设置的 Azure SQL 数据库 它不关心选择中表名的大小写。
有什么想法吗?
谢谢 JC
【问题讨论】:
标签: sql-server database azure case-sensitive