您的位置:首页 > 数据库

Sql server中Collation conflict问题

2010-07-02 10:00 211 查看
今天在做data migration时写了一个跨数据库查询的语句:
select d.id as sgpid,'s' as sgptype, 1 as upuser, getdate() as updt, number
from [datamigr_v33].[dbo].[_upd_dts_timedef1] c, [datamigr_v4].[dbo].[addtstore]d
where storenum<>0 and c.storenum = d.strnumber
结果在运行时碰到这样一个问题,问题描述:
cannot resolve the collation conflict between "chinese_prc_ci_as" and "sql_latin1_general_cp1_ci_as" in the equal to operation.
到网上搜了一下,了解了问题产生的原因,原来是两个数据库的collation不一致导致的,datamigr_v33用的是sql_latin1_general_cp1_ci_as,而datamigr_v4用的是chinese_prc_ci_as,知道原因,解决起来就好办了。将查询语句改成如下:
select d.id as sgpid,'s' as sgptype, 1 as upuser, getdate() as updt, number
from [datamigr_v33].[dbo].[_upd_dts_timedef1] c, [datamigr_v4].[dbo].[addtstore]d
where storenum<>0 and c.storenum collate chinese_prc_ci_as = d.strnumber
问题就解决了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: