【问题标题】:Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "SQL_Latin1_General_CP850_BIN2"无法解决“SQL_Latin1_General_CP1_CI_AS”和“SQL_Latin1_General_CP850_BIN2”之间的排序规则冲突
【发布时间】:2021-09-04 12:08:02
【问题描述】:

我在查询中使用来自同一服务器的另一个数据库的数据

我收到给定的错误

无法解决等于操作中“SQL_Latin1_General_CP1_CI_AS”和“SQL_Latin1_General_CP850_BIN2”之间的排序规则冲突。本机错误:468。SQLSTATE:42000。严重性 16。MsgState 9。第 39 行。

我该如何解决?

with
 main AS (
SELECT a.LBrCode,a.PrdAcctId,b.SexCode,a.DateOpen,
case when (a.AcctStat=3 and a.DateClosed>'30-jun-2021') or a.AcctStat<>3 then 'live' else 'cl' end r1
FROM ac_mast a INNER JOIN prd_mat b ON a.CustNo=b.CustNo
WHERE rtrim(substring(a.PrdAcctId,1,8)) IN ('abc') AND a.AcctType=32

)
,
card_data AS (
SELECT substring(b.primary_a_c_number,1,3) LBrCode,
substring(b.primary_a_c_number,4,4)+replicate(' ',4)+replicate('0',8)+substring(b.primary_a_c_number,8,8)+replicate('0',8) PrdAcctId,
card_number,card_process_date,first_tran_date
FROM [hk_RDS2.0].dbo.cardx1 b

select a.LBrCode,a.PrdacctId,b.Card_number from main a inner join card_data b
on a.LBrCode=b.LBrCode and a.PrdAcctId=b.PrdAcctId

请帮忙

【问题讨论】:

  • 这能回答你的问题吗? Issues with missing collate in SQL Server
  • 我尝试 SELECT a.LBrCode,a.PrdAcctId,b.card_number FROM main a INNER JOIN card_data b ON a.LBrCode COLLATE DATABASE_DEFAULT = b.LBrCode COLLATE DATABASE_DEFAULT AND a.PrdAcctId COLLATE DATABASE_DEFAULT =b .PrdAcctId COLLATE DATABASE_DEFAULT 但由于表达式类型 int 对 COLLATE 子句无效而出现错误。本机错误:447。SQLSTATE:42000。严重性 16。MsgState 1。第 39 行。
  • Edit 你的问题,@hemu_k,不要把这些信息放在 cmets 中。
  • 然而,错误告诉你问题所在。您显然在这里有 2 个不同的排序规则,如果没有明确地将一个排序规则与另一个排序规则进行比较,则无法比较这些值。
  • 帮我拉努...如何比较?

标签: sql sql-server tsql sql-server-collation


【解决方案1】:

只是为了把这个从董事会上拿下来......

将查询的最后一部分更改为:

select      a.LBrCode, 
            a.PrdacctId, 
            b.Card_number 
from        main      a 
inner join  card_data b on a.LBrCode = b.LBrCode collate database_default
                           and a.PrdAcctId = b.PrdAcctId

【讨论】:

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