在连接中包括区分大小写

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

我试图在我的Join子句中包括逻辑,其中区分大小写是至关重要的。

SELECT * 
FROM Account a 
JOIN prep 
ON LEFT(a.Id,15)=prep.Account

但是,与此相关的问题是它正在链接帐户'001d000000HsoPd' '001d000000HsOPd'。这些不应该链接,因为一个拥有大写字母O,而另一个没有。

有没有一种方法可以包含使之成为逻辑,以便仅合并具有完全相同大小写的记录?

sql sql-server join case-sensitive
2个回答
0
投票

您能否尝试使用如下所示的归类:

SELECT * 
FROM Account a 
JOIN prep 
ON LEFT(a.Id,15)=prep.Account
COLLATE Latin1_General_100_CS_AS 

0
投票

您可以使用'collat​​e'使您的搜索区分大小写。参照this post

  SELECT * 
  FROM Account a 
  JOIN prep 
  ON LEFT(a.Id,15) COLLATE Latin1_General_100_CS_AS =prep.Account
© www.soinside.com 2019 - 2024. All rights reserved.