数据库原来的版本是 SQL Server 2008 R2,最近刚升级到2014,原来使用一个语句
select A.* from A left join server1..abc.B on b.id=a.id where b.id is null
来查询在B表中不存在的列,升级到2014之后这个语句不能返回正确的结果了,A.id 是 varchar(50),oracle 表中b.id 是varchar2(40)类型,如果我把语句强制加上类型转换如
select A.* from
A left join server1..abc.B on cast(b.id as varchar(50))=a.id where b.id is null
这样的语句就能查询成功了,非常奇怪,我很多存储过程里都是直接进行的比较,如果每次都要进行显示转换也太麻烦了吧? 有什么好的解决方案吗?
SQL Server 排序规则Chinese_PRC_CI_AS
链接服务器通过Oracle.oledb 和 oracle 链接,链接服务器的属性设置里 排序规则兼容 选择的是 False