我有一个问题。 这是我的代码的一部分:
case when ( EXISTS ( SELECT TOP 1 1 FROM CTE WHERE UPPER(s.[Contents Total]) LIKE UPPER('%' + CTE.Contents + '%'))) Then 'depot' ELSE '-' end as Content_Search_XXX
我不知道如何调整此部分LIKE UPPER('%' + CTE.Contents + '%')
。
因为当在Contents Total
列中找到以下内容:
2018年8月的仓库服务
或
墨西哥维修站已取消
然后正常工作。该查询将 depot 记录设置到列Content_Search_XXX
中。
但是当表达式“ depot”结尾时,例如:
2018年7月XYZ研究中心服务
然后查询将其忽略,并且未将 depot 记录设置到列Content_Search_XXX
中。
请问有人可以建议我,并告诉我我做错了什么吗?
非常感谢! :)
答案 0 :(得分:0)
请尝试以下操作:
CASE WHEN
EXISTS (
SELECT TOP 1 1 FROM CTE
WHERE CHARINDEX(TRIM(CTE.Contents), s.[Contents Total] COLLATE Latin1_General_CI_AS) > 0)
THEN 'depot'
ELSE '-'
END
AS Content_Search_XXX