我有以下 SQL 脚本,试图对位于同一数据库中的两个表执行联合。一张表似乎具有不同的排序规则类型
select * from ns.TurnsCOS
union all
select * from ns.TurnsValue
运行后出现如下错误
我已经阅读了与修复整理问题相关的其他帖子,但是在 from 子句之后添加“Collate Latin1_General_Bin”似乎不起作用
如何最好地解决两个表之间的排序问题?
最佳答案
您必须单独更改每列的排序规则,例如
select OtherCols, Col1, Col6, Col7
from ns.TurnsCOS
union all
select OtherCols, Col1 collate SQL_Latin1_General_CP1_CI_AS, Col6 collate SQL_Latin1_General_CP1_CI_AS, Col7 collate SQL_Latin1_General_CP1_CI_AS
from ns.TurnsValue
您可以按如下方式永久更改列排序规则 - 但您应该非常谨慎地这样做,因为它可能会与其他现有查询发生冲突:
ALTER TABLE [TableName] ALTER COLUMN [Col_Name]
[Existing Data-Type] COLLATE [New_Collation] [NULL | NOT NULL];
GO
关于sql - 解决两个表之间的排序规则问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53771061/