带或在其中的TSQL案例

带或在其中的TSQL案例,tsql,Tsql,我的问题是: 在我的WHERE语句中,“Shock.Comment”可以为空。 我想要得到的结果是 @missingComments=1 然后我想得到所有字符串为空或null的震动。 我所尝试的: WHERE Shock.Comment = CASE WHEN @missingComments = 1 THEN '' OR IS NULL END 我如何获得所有评论为null或空的帖子 @missingComments=1 案例非常挑剔,不能计算到位,你不能做v=A或B,你必须做v=A或v=B

我的问题是:

在我的WHERE语句中,“Shock.Comment”可以为空。 我想要得到的结果是

@missingComments=1

然后我想得到所有字符串为空或null的震动。 我所尝试的:

WHERE Shock.Comment = CASE WHEN @missingComments = 1 THEN '' OR IS NULL END
我如何获得所有评论为null或空的帖子

@missingComments=1


案例
非常挑剔,不能计算到
,你不能做
v=A或B
,你必须做
v=A或v=B
。这就是我想出的解决办法

WHERE @missingComment = 0 OR (Shock.Comment = NULL OR Shock.Comment = '')
这是一种方式:

WHERE (  (@missingComments != 1)
      OR (COALESCE(Shock.Comment, '') = '' )

请注意,使用单个静态SQL查询对此问题的任何回答都无法使用
Shock.Comment
上的任何索引来提高性能。

@missingComment
不是1时,它应该怎么做?应该跳过此where语句。但问题是,我不能同时拥有“”或为NULL,因为它表示错误。