如何在SQL中的JOIN中使用COLLATE

问题描述 投票:0回答:1

我试图加入两个表,但我收到此错误:

消息468,级别16,状态9,行8无法解决等于操作中“SQL_Latin1_General_CP1_CI_AS”和“Latin1_General_CI_AS”之间的排序规则冲突。

SELECT *

  FROM [FAEB].[dbo].[ExportaComisiones] AS f

  JOIN [zCredifiel].[dbo].[optPerson] AS p

  ON (p.vTreasuryId = f.RFC) COLLATE Latin1_General_CI_AS
sql sql-server join collation
1个回答
0
投票

你需要collate一列不是两个:

SELECT f.*, p.*
FROM [FAEB].[dbo].[ExportaComisiones] AS f JOIN 
     [zCredifiel].[dbo].[optPerson] AS p
     ON p.vTreasuryId COLLATE Latin1_General_CI_AS = f.RFC;

我不知道哪个列需要更改排序规则名称,但这将指导您如何显式更改排序规则名称。

但是,如果两列具有相同的排序规则名称,则无需更改排序规则。

© www.soinside.com 2019 - 2024. All rights reserved.