解决数据库查询连表视图查询,不同数据编码的问题。

      前段时间在开发内部系统的时候,需要使用另一个系统的数据,为了简便就直接在数据库后台做了一个视图。但是后面再开发中遇到了一个问题,由于两个数据的编码格式不同在连表查询的时候会遇到错误如:[SQL Server]无法解决 equal to 运算中 "Chinese_PRC_CI_AS" 和 "Chinese_PRC_CI_AI_WS" 之间的排序规则冲突。

  搞了很久尝试修改查询,在查询的时候修改编码格式等等,最后还是在我们公司数据库大佬的帮助下 得到了一个很好的解决方案。

   1.先删除掉以前的视图。drop view V_*****;

   2:重新新建一个视图,并且在视图中新建一个字段该字段是需要连表查询的字段的拷贝,字段的数据格式和当前数据的数据格式一样。如

CREATE VIEW [V_****] AS
select (Code COLLATE Chinese_PRC_CI_AS) AS Code1,* from datebase.table 

然后本来连表查询本来是 v_**** 中 code 的字段 改成code1 就可以解决这个问题了

猜你喜欢

转载自www.cnblogs.com/Kevinmanlee/p/11711893.html