同一数据库内的排序规则冲突
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 将所有列设置为相同的排序规则很有用。
我对两个查询执行联合。简化版如下所示:
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 将所有列设置为相同的排序规则很有用。