如何在SQL中的JOIN中使用COLLATE

时间:2019-04-04 16:52:24

标签: sql sql-server join collation

我正在尝试联接两个表,但出现此错误:

  

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

1 个答案:

答案 0 :(得分: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;

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

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