排序规则问题 - SQL Server 2005

Joe*_*oel 4 sql-server sql-server-2005

我想了解我在SQL Server 2005实例上遇到的这个错误.错误如下:

无法在等于操作中解决"Latin1_General_CI_AI"和"SQL_Latin1_General_CP1_CI_AI"之间的排序规则冲突.

简单查询中包含的两个数据库都具有Latin1 General CI AI,但之前具有SQL Latin1 General CP1 CI AI.我更改了整理以尝试匹配它们但每次我尝试使用来自用户数据库的表连接临时表时仍然会得到上述错误.我没有创建临时表的问题.

Ben*_*een 6

当您加入时,您可以使用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
Run Code Online (Sandbox Code Playgroud)

假设cust是SQL_Latin1_General_CP1_CI_AI并且order是其他一些排序规则,上面的查询将解决问题.