我有一个存储过程和一些 bool 变量(Bit
)。
如果某个变量为 False,我想放置一个 WHERE
语句。
我知道我可以做这样的事情:
IF (@myBoolean = 1)
BEGIN
SELECT * FROM myTable
END
ELSE
SELECT * FROM myTable WHERE myTable.Foo = 'Bar'
有没有办法使 WHERE
语句成为可选的?因为我有很多 bool 变量,所以我不想对每种可能性进行不同的查询。
这就是我的想法(我知道这行不通):
SELECT * FROM myTable
CASE WHEN @myBoolean = 0
THEN WHERE myTable.Foo = 'Bar'
ELSE --Do nothing
最佳答案
SELECT * FROM myTable
where ( @myboolean = 1 and foo = 'bar' ) or @myboolean = 0
关于t-sql - 条件/可选 where 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16306144/