关于sqlserver里的字符集“SQL_Latin1_General_CP1_CI_AS”、“Chinese_PRC_CI_AS” 报错的解决方法

Cannot resolve the collation conflict between "Chinese_PRC_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.

sql查询出现这样的问题
或者

Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Chinese_PRC_CI_AS" in the equal to operation.

原因是你在建库的时候使用的是系统默认字符集 "SQL_Latin1_General_CP1_CI_AS",后边你更改过,所以在查询的时候报错。
解决方案
1,首先确定你目前的字符集是什么
数据库右键>属性>选项


image.png

2,找到有问题的表
表右键>设计
字符集的问题都是varchar或者nvarchar类型的数据字符集与目标查询的字符集不相同


image.png

修改为
image.png

3,也可以使用sql语句
ALTER TABLE  表名   
ALTER COLUMN 字段   VARCHAR(100)  COLLATE Chinese_PRC_CI_AS

4,整体修改数据库的字符集

ALTER DATABASE testDB  
COLLATE Chinese_PRC_CI_AS;  
GO  

但是这样会有一个问题,你修改了数据库字符集之后,你之前已建的表的字段的字符集还是之前的,所以需要你查找后一一去改。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容