【发布时间】:2009-02-12 10:23:43
【问题描述】:
在我的数据库中,我有一个通过链接服务器选项从 Excel 工作表创建的表。
我现在正在尝试将其内容与我的一个主表进行比较。
我正在比较的表在同一个数据库中。
两个表都有一个日期列,两种类型都是日期时间,排序规则是SQL_Latin1_General_CP1_CI_AS,和DB一样。
服务器排序规则是 Latin1_General_CI_AS
但是,当我尝试运行比较表之间日期的查询时,我收到错误:
Cannot resolve the collation conflict between
"Latin1_General_CI_AS" and
"SQL_Latin1_General_CP1_CI_AS" in the
equal to operation.
我尝试过使用和不使用 COLLATE 选项,同时使用两种排序规则设置。
我的查询是:
select * , hxl.holiday_dt,
datediff(d, h.holiday_dt collate SQL_Latin1_General_CP1_CI_AS,
hxl.holiday_dt collate SQL_Latin1_General_CP1_CI_AS)
from holiday h, Holiday_XL hxl
where h.currency_cd=hxl.currency_cd
事实上,任何涉及两个表的查询都会给出完全相同的排序规则错误,例如这个:
select count(*)
from Holiday_XL c
where c.currency_cd in (select distinct h.currency_cd from holiday h)
提前感谢您的任何想法。
问候, 克里斯
【问题讨论】:
标签: sql sql-server-2005