sql-server - 排序规则问题 - SQL Server 2005

标签 sql-server sql-server-2005

我想了解在 SQL Server 2005 实例上遇到的此错误。错误如下:

Cannot resolve the collation conflict between "Latin1_General_CI_AI" and "SQL_Latin1_General_CP1_CI_AI" in the equal to operation.

简单查询中包含的两个数据库都具有 Latin1 General CI AI,但之前具有 SQL Latin1 General CP1 CI AI。我更改了排序规则试图匹配它们,但每次尝试将临时表与用户数据库中的表连接时仍然会出现上述错误。我在创建临时表时没有任何问题。

最佳答案

当您加入时,您可以使用 COLLATE 动态更改排序规则以使它们相同:

select c.name, o.orderid from customer as c
inner join order as o on c.custid = o.custid COLLATE SQL_Latin1_General_CP1_CI_AI

假设 cust 是 SQL_Latin1_General_CP1_CI_AI 并且 order 是其他排序规则,上述查询将解决该问题。

关于sql-server - 排序规则问题 - SQL Server 2005,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1126013/

相关文章:

sql - 取一个带有数量字段或项目计数的表,并动态地为每个字段创建唯一的行

sql - APPLY 右侧的聚合无法引用左侧的列

sql-server - 在 ubuntu 上配置 MSSQL Server - 无法打开或读取持久注册表 :\SystemRoot\security. hiv

sql-server-2005 - 审计触发器 : Use INSERTED or DELETED system tables

sql - 审核 SQL Server 数据更改

c# - SQL如何将两个日期之间一小时内的事件求和并显示在一行中

asp.net - 简单排序的问题。我应该修复数据库还是代码?

sql - 查询以查找子字符串的所有匹配行

sql-server - 带有 Bonobo GIT 的 SQL 服务器

php - "Adaptive Server is unavailable or does not exist"从 PHP 连接到 SQL Server 时出错