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 (想问这里。会有影响么?)
------解决方案--------------------你可以直接在写语句的时候修改本次查询的排序规则。
------解决方案--------------------應該是更改表的排序,更改數據庫的排序只是對新建的表有效.
------解决方案--------------------潜在问题:
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