我有一个存储过程和一些布尔变量(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
答案 0 :(得分:3)
SELECT * FROM myTable
where ( @myboolean = 1 and foo = 'bar' ) or @myboolean = 0