【发布时间】:2013-02-04 21:30:22
【问题描述】:
我的这个 SQL 查询没有正确比较,所以我在 WHERE 子句中注释掉了它。返回 AF.ActivityNote 时,无论我是否对其进行 RTRIM,它后面总是有 2 个空格。我认为这些空格是不允许注释的 WHERE 子句正确匹配字符串与 userfield33 的问题。
SELECT CAST(UF.UserField33 AS NVARCHAR) , RTRIM(CAST(AF.ActivityNote AS NVARCHAR))
FROM [BCMTEST01].[dbo].[ActivityContacts] as AC INNER JOIN [BCMTEST01].[dbo].[ActivityFullView] as AF
ON AC.ActivityID = AF.ActivityID INNER JOIN [BCMTEST01].[dbo].[OpportunityExportView] as OP
ON AC.ContactID = OP.ContactServiceID INNER JOIN [BCMTEST01].[dbo].[UserFields] as UF
ON OP.ContactServiceID = UF.ContactServiceID
WHERE ContactID = 8376
--WHERE RTRIM(CAST(UF.UserField33 AS NVARCHAR) = RTRIM(CAST(AF.ActivityNote AS NVARCHAR))
ORDER BY ContactID ASC
【问题讨论】:
-
你确定刺痛有空格吗?如果它们没有被 RTRIM() 删除,很可能它们实际上是一些其他(“不可打印”)字符。尝试一些以十六进制显示字符串的函数,或者在调试器中检查它,以确定。
标签: sql