我想了解在 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/