首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

Cannot resolve the collation conflict between "Chinese_PRC_CI_AS" and

2013-11-21 
Cannot resolve the collation conflict between Chinese_PRC_CI_AS and SQL_Latin表关联查询的时候提

Cannot resolve the collation conflict between "Chinese_PRC_CI_AS" and "SQL_Latin

表关联查询的时候提示; 排序错误
Cannot resolve the collation conflict between "Chinese_PRC_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation. 

网上找了一种方案
ALTER   DATABASE   '数据库1'   COLLATE   Chinese_PRC_CI_AS  
执行后

打开数据库表 A
字段的排序属性 依旧是"SQL_Latin1_General_CP1_CI_AS  (想问这里。会有影响么?)

sql??排序
[解决办法]
你可以直接在写语句的时候修改本次查询的排序规则。
[解决办法]
應該是更改表的排序,更改數據庫的排序只是對新建的表有效.
[解决办法]
潜在问题:
1、由于某些应用导致你的更改报错。
2、会影响数据存储。

所以权宜之计可以在语句中修改,或者把关联的两个库的排序规则修改
[解决办法]
如果你要改的光改库是不行的,表列也要改。可行的办法是创建新数据库然后倒入数据。

或者在语句中用Collate
[解决办法]
最好不要随便修改排序规则,否则会导致乱码。

你可以在比较的时候,同时指定排序规则,这样:

select
from tb
where 字段 collate Chinese_PRC_CI_AS = 'abc' collate Chinese_PRC_CI_AS
[解决办法]
除了修改数据库级的排序规则,另需修改表字段的排序规则,


use [数据库1]

alter table [表A] alter column [字段名] [数据类型]([长度]) collate Chinese_PRC_CI_AS

热点排行