sql2005 无法解决 equal to 操作"Chinese_PRC_CI_AS" 和 "Chinese_PRC_CS_AS" 之间的排序

错误代码:

SELECT * FROM SJCCBZ, Order_Motor WHERE
SJCCBZ.OrderID=Order_Motor.OrderID and SJCCBZ.OrderID='1'AND Order_Motor.M_State='已报账'

错误提示:

消息 468,级别 16,状态 9,第 1 行
无法解决 equal to 操作中 "Chinese_PRC_CI_AS" 和 "Chinese_PRC_CS_AS" 之间的排序规则冲突。

在sql2005中,可以对数据库更改默认的排序规则,

alter database 数据库 collate 排序规格

但是却没有办犯没有办法对表进行排序规则的更改,我查了一下,发现可以对列进行排序规则的更改,于是,我上面的问题就可以解决了,在查找的时候,进行规则的更改,于是,我的代码如下:

SELECT * FROM SJCCBZ, Order_Motor WHERE
SJCCBZ.OrderID COLLATE Chinese_PRC_CI_AS =Order_Motor.OrderID COLLATE Chinese_PRC_CI_AS and SJCCBZ.OrderID='1'AND Order_Motor.M_State='已报账'

呵呵,这个问题搞了我好久了,现在终于轻松点了。

原文地址:https://www.cnblogs.com/xiaoxia/p/1557671.html