码迷,mamicode.com
首页 > 数据库 > 详细

解决SqlServer中Collate冲突的问题

时间:2014-08-12 18:47:04      阅读:1068      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   使用   io   问题   div   line   

使用Sql连表查询的时候会遇到Collate冲突的问题,比如:

select id,Name from [dbo].VMImage
union
select id,Name from [dbo].[DicVMImage]

得到的Error:

Msg 468, Level 16, State 9, Line 1
Cannot resolve the collation conflict between "Chinese_PRC_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the UNION operation.

最开始怀疑可能是由于Db中两个Table的Collate冲突造成的,右键“属性”查看,都是“Chinese_PRC_CI_AS”,是匹配的。

后来看了Server和DB各自的Collate发现,Server:SQL_Latin1_General_CP1_CI_AS  DB:Chinese_PRC_CI_AS,以为修改DB的Collate为“SQL_Latin1_General_CP1_CI_AS”就可以了可是还是不行。

后来发现最简单的方法:

select id,Name Collate Database_Default from [dbo].VMImage
union
select id,Name Collate Database_Default from [dbo].[DicVMImage]

就是在我们连表使用时,对于可能出现冲突的字段转成“Database_Default ”

 

解决SqlServer中Collate冲突的问题,布布扣,bubuko.com

解决SqlServer中Collate冲突的问题

标签:style   blog   color   使用   io   问题   div   line   

原文地址:http://www.cnblogs.com/xiguain/p/3907830.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!