当我发出 SQL 查询时,有时会收到以下错误消息:
Cannot resolve the collation conflict between "Latin1_General_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.
我经常解决这个问题,只需使两个表排序规则相同即可。所以我需要知道是否有任何快速方法可以解决此问题。
我想在我的 SQL 查询中添加一些特殊的,因此,如果 sql 查询中两个表的排序规则不相同,那么查询也将完美运行,不会出现任何错误。有什么解决办法吗?
最佳答案
您可以使用COLLATE强制使用哪种排序规则。条款。
即
SELECT *
FROM Table1 T1
INNER JOIN Server2.dbo.Table2 T2
ON T1.Name = T2.Name COLLATE database_default
在两个数据库或服务器之间连接表时,排序规则冲突很常见,特别是在数据库版本不同的情况下。
关于sql - SQL Server 排序规则冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8534123/