列值的SQL比较不排除筛选器中的相等值

列值的SQL比较不排除筛选器中的相等值,sql,sql-server,equals,uppercase,Sql,Sql Server,Equals,Uppercase,我在网上找不到任何与此相关的信息。你知道为什么不排除非制造商的产品吗?如果你看原稿,一个是非Mfg,另一个是非Mfg,但与大写字母相比,它应该被排除在外 **更新: 我在上找到一些信息,因此无法正确比较。。。LOWERx!=LOWERUPPERx。有人建议使用collate,所以我正在尝试找到一个好的例子。应用此示例时遇到问题。显然,您的数据库区分大小写。 要忽略这些列的大小写敏感度,请在每个列的后面添加COLLATE SQL\u Latin1\u General\u CP1\u CI\u: L

我在网上找不到任何与此相关的信息。你知道为什么不排除非制造商的产品吗?如果你看原稿,一个是非Mfg,另一个是非Mfg,但与大写字母相比,它应该被排除在外

**更新:
我在上找到一些信息,因此无法正确比较。。。LOWERx!=LOWERUPPERx。有人建议使用collate,所以我正在尝试找到一个好的例子。应用此示例时遇到问题。

显然,您的数据库区分大小写。 要忽略这些列的大小写敏感度,请在每个列的后面添加COLLATE SQL\u Latin1\u General\u CP1\u CI\u:

Last      First Faculty Billing
Skywalker Luke  NON-MFG NON-MFG

决定使用视图而不是直接在sql表达式中处理crystal报表中的比较


Collate没有像其他答案中所建议的那样工作,正如问题所述,没有工作,并且!=在UpPX比较中不起作用。

仍然有相同的结果,非MFG非MFG用于教师和行中的计费。我没有,但是我会在您问我之后考虑。如果没有一个示例数据集,我将无能为力。
Last      First Faculty Billing
Skywalker Luke  NON-MFG NON-MFG
SELECT 
 DISTINCT
 isnull(dbo.fnRemovePatternFromString(p.Last_Name, '%[,-.'']%'), '')  as [Last]
,isnull(dbo.fnRemovePatternFromString(p.First_Name, '%[,-.'']%'), '') as [First]
,isnull(upper(fm.ANS_TEXT), '') as [Faculty]
,isnull(upper((select fs.ANS_TEXT from dbo.ADD_ANSW fs where fs.ID = p.id and ques_id = 3)),'') as [Billing]

FROM person p
 inner JOIN person_facilities pf ON p.ID = pf.ID
 LEFT JOIN usr_FacultyMember fm ON p.ID = fm.id
 LEFT JOIN dbo.ADD_ANSW fs ON p.ID = fs.id and QUES_ID = 3 or QUES_ID = 71

WHERE 
 pf.Current_status in ('Active')
 and fm.ANS_TEXT COLLATE SQL_Latin1_General_CP1_CI_AS  <> fs.ANS_TEXT COLLATE SQL_Latin1_General_CP1_CI_AS;