同一数据库内的排序规则冲突

Collation conflict within the same database

我对两个查询执行联合。简化版如下所示:

select * from Audit.dbo.PolicyList_t pl
union
select * from Audit.dbo.PolicyList_CurrencyFlip_t pl

两个table都在同一个数据库中。但是,我收到以下错误:

Cannot resolve the collation conflict between "Latin1_General_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the UNION operation.

我希望在不同数据库上操作时出现排序规则错误,而不是在同一数据库中查询两个 table 时出现。

我检查了两个 table 的属性,在这两种情况下,排序规则都是 Latin1_General_CI_AS。但是,当两个选择地址相同时 table 我没有收到任何错误。显然,当运行分开时,两者都选择工作。

我在 SQL 服务器上。有什么建议可能是问题的根源吗?

SQL Server中,至少可以按列应用排序规则。所以我会检查一下。

您可能会发现 this question 将所有列设置为相同的排序规则很有用。