【问题标题】:Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Arabic_CI_AS" in the equal to operation无法解决等于操作中“SQL_Latin1_General_CP1_CI_AS”和“Arabic_CI_AS”之间的排序规则冲突
【发布时间】:2018-03-27 15:44:55
【问题描述】:

https://d.top4top.net/p_816jaa4d1.png

我需要帮助,请在链接图像中出现问题...

无法解决等于操作中“SQL_Latin1_General_CP1_CI_AS”和“Arabic_CI_AS”之间的排序规则冲突。

【问题讨论】:

    标签: sql-server sql-server-2008


    【解决方案1】:

    如果您将 SQL 发布为纯文本而不是图像会更好。

    在您的情况下,问题在于您在查询中匹配的列中的不同排序规则。通用的解决方法是:

    WHERE IFG.ITEM_NAME = I.ITEM_NAME COLLATE database_default
    

    但是,考虑使数据库中的所有列都匹配到相同的排序规则,排序规则可以这样检查:

    SELECT 
        t.Name 'Table Name',
        c.name 'Col Name',
        c.collation_name
    FROM     sys.columns c 
    INNER JOIN     sys.tables t ON c.object_id = t.object_id
    INNER JOIN     sys.types ty ON c.system_type_id = ty.system_type_id    
    WHERE     t.is_ms_shipped = 0
    

    可以做到this way

    【讨论】:

      猜你喜欢
      • 2018-10-20
      • 2010-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多