我的问题:
在我的WHERE语句中,“Shock.Comment”是无效的。 我想要实现的结果是参数
@missingComments = 1
然后我想得到所有字符串为空或者为空的Shocks。 我做了什么:
WHERE Shock.Comment = CASE WHEN @missingComments = 1 THEN '' OR IS NULL END
如何在
时获取评论= null或空的所有帖子@missingComments = 1
答案 0 :(得分:2)
这是一种方式:
WHERE ( (@missingComments != 1)
OR (COALESCE(Shock.Comment, '') = '' )
请注意,使用单个静态SQL查询对此的任何答案都无法使用Shock.Comment
上的任何索引来提高性能。
答案 1 :(得分:0)
CASE
非常挑剔,无法评估为BIT
,而您无法v = A OR B
,您必须v = A OR v = B
。这是我提出的解决方案。
WHERE @missingComment = 0 OR (Shock.Comment = NULL OR Shock.Comment = '')