列值的SQL比较不排除筛选器中的相等值
我在网上找不到任何与此相关的信息。你知道为什么不排除非制造商的产品吗?如果你看原稿,一个是非Mfg,另一个是非Mfg,但与大写字母相比,它应该被排除在外 **更新:列值的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
我在上找到一些信息,因此无法正确比较。。。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;