sql - 相同排序规则的结果集差异
问题描述
我有一个表'Table1',其中包含存储以下值(例如)的名称列(以及其他列),名称 1 为 10 行,名称 2 为 10 行。
名称 1 : Internationale Union öffentlicher Vereinigungen 'Grosse Don-Armee'
名称 2 : Internationale Union öffentlicher Vereinigungen 'Große Don-Armee'
为了使这篇文章简单,我正在编写一个 SELECT 查询(包装在一个存储过程中),它按名称对记录进行分组并获取记录计数,如下所示。
SELECT Name,COUNT(1) AS CountedRecords FROM Table1 GROUP BY Name
在数据库服务器 1上,这些给我输出(称为结果集 1)-
姓名 | 计数记录 |
---|---|
Internationale Union öffentlicher Vereinigungen 'Grosse Don-Armee' | 10 |
Internationale Union öffentlicher Vereinigungen 'Große Don-Armee' | 10 |
在数据库服务器 2上,这些给我输出(称为结果集 2)-
姓名 | 计数记录 |
---|---|
Internationale Union öffentlicher Vereinigungen 'Grosse Don-Armee' | 20 |
排序规则设置为 SQL_Latin1_General_CP1_CI_AS 并且两台服务器上的表架构完全相同。我可以更改我的查询以包括名称列的 COLLATE Latin1_General_CI_AI 以使其不区分重音,它将在结果集 1 中返回计数 = 20 的 1 行,但是我正在寻找结果中这种差异背后的根本原因或可能原因即使在 SQL 服务器和数据库级别上的排序规则相同时也会设置,这会导致在将(内部)结果集 1 与名称列上的表 1 连接以进行进一步操作时出现重复行。
它与排序规则或其他一些底层 SQL/Server/Windows 设置有关吗?
解决方案
推荐阅读
- php - 如何在php的上传表单上隐藏我的api密钥
- javascript - 在选项中查找值并使用 Javascript 编辑 css 样式
- java - Thymeleaf 没有对象类?
- c# - unity Rigidbody 有速度但不移动
- angular - 有没有办法使用 api 搜索中返回的项目列表中的 id 从 api 中提取一些数据?
- c++ - [[no_unique_address]] 和两个相同类型的成员值
- html - ion-text-center 不将 ion-item 中的内容居中
- python - Hyperopt 库中的重复试验
- gradle - 无法从 grails 战争中排除 Jar
- javascript - 如何递归地从嵌套 JSON 中删除所有空数组子项 []