代码如下:
SELECT * from dbo.VW_msSyInfo_zy
WHERE syh collate Chinese_PRC_CI_AS not in
(select Syh from dbo.msSyInfo_zy)
and indate >'2015-01-01'
当没加collate Chinese_PRC_CI_AS的时候会报错
无法解决 equal to 运算中 "Chinese_PRC_CI_AS" 和 "Chinese_PRC_BIN" 之间的排序规则冲突。
加上collate Chinese_PRC_CI_AS时查出来的数据和实际数据量差之千里
请问各位高手,有没有办法解决此类问题
我这边没有具体实例,可以试试这样:
SELECT * from dbo.VW_msSyInfo_zy
WHERE syh collate Chinese_PRC_CI_AS not in
(select Syh collate Chinese_PRC_CI_AS from dbo.msSyInfo_zy)
and indate >'2015-01-01'
两个数据库字段排序方式不同,要么后台数据库修改,或者尝试楼上说的。不知道有没有其他办法。同问。
两个表的排序规则一定要一致。可以先把其中一个改过来,查询完后,再改过去。
修改排序规则:ALTER TABLE tb ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CI_AS