码迷,mamicode.com
首页 > 其他好文 > 详细

表中与当前库的collation不一致的字段

时间:2014-12-05 12:31:12      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:style   io   ar   color   使用   sp   strong   on   数据   

 --对于与当前数据库排序规则不一致的字段。

select o.name, c.name ,collation_name
from sys.columns c,
sys.objects o
where
c.object_id=o.object_id
and o.type=‘U‘
and c.system_type_id in (167,175,231) --varchar\char\nvarcharsysname
and collation_name<>DATABASEPROPERTYEX(DB_name(),‘collation‘)

 

比较常见的错误 :Cannot resolve the collation conflict between "Chinese_PRC_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.

这个错误多见于表中的字段的排序规与数据默认的规则不一样的错误。

解决办法 :

1、在比较、排序等字段指定规则。COLLATE Chinese_PRC_CI_AS

2、修改字段的排序规则。ALTER Table [表名] ALTER COLUMN [字段名] [数据类型]([长度]) collate Chinese_PRC_CI_AS

  这种方式有风险,可能会将你数据搞成乱码。所以,需要千万小心。

3、重建表就指定使用默认规则。create table #Temp (content nvarchar(10) collate database_default)

表中与当前库的collation不一致的字段

标签:style   io   ar   color   使用   sp   strong   on   数据   

原文地址:http://www.cnblogs.com/superunusa/p/4146110.html

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