SQL Server中的WHERE子句内的CASE语句

博格斯

我试图添加一个CASE语句,但是我需要在其中添加一个OR,但遇到了一些麻烦。

我不确定如何做到这一点,但我希望有人能提供帮助。这是我正在尝试做的事情:

SELECT *
  FROM Table1
 WHERE IsUpdate = CASE WHEN @Type = 'Yes' THEN 1 ELSE (0 OR 1) END

因此,基本上,我只想选择@Type ='Yes'时将IsUpdate设置为1的行,否则,我想选择IsUpdate = 0或IsUpdate = 1的行。

蒂姆·施密特

您不需要a CASE,我认为该值只能是01

SELECT * FROM Table1
WHERE @Type <> 'Yes' OR IsUpdate = 1

如果它位于存储过程中,则最好使用aIf-Else而不是参数检查,因为上述查询是不可持久的,因此在大表上可能效率不高。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章