我有一个存储过程和一些布尔变量(Bit
)。如果某些变量为 False,
我想发表声明。WHERE
我知道我可以做这样的事情:
IF (@myBoolean = 1)
BEGIN
SELECT * FROM myTable
END
ELSE
SELECT * FROM myTable WHERE myTable.Foo = 'Bar'
有没有办法使WHERE
声明可选?因为我有这么多布尔变量,所以我不想对每种可能性都有不同的查询。
这就是我的想法(我知道它不起作用):
SELECT * FROM myTable
CASE WHEN @myBoolean = 0
THEN WHERE myTable.Foo = 'Bar'
ELSE --Do nothing