博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

sql server不同排序规则的数据库间字段的比较

Posted on 2015-12-02 17:25  fourier的天空  阅读(283)  评论(0编辑  收藏  举报

不同的排序规则的字段是不能直接比较的。会提示:无法解决 equal to 操作的排序规则冲突。可以把字段强制转换一个排序规则,这样就能比较了。示例:

--------------------------------------

SELECT *
FROM tab1 a LEFT OUTER JOIN
      tab2 u ON a.AdmissionNo = u.UserName COLLATE Chinese_PRC_CI_AS

--------------------------------------

其中tab2为另一个数据库中的表,在本数据库中创建了一个同名的视图。这样,就可以像调用本数据库中的表一样来调用另一个数据库中的表了。tab1所在的数据库不区分大小写,tab2所在的数据库区分大小写。COLLATE Chinese_PRC_CI_AS把排序规则强制转换为不区分大小写。

附(中文数据库一般排序规则修改):

  COLLATE Chinese_PRC_CI_AS 
--不区分大小写
  COLLATE Chinese_PRC_CS_AS 
--区分大小写