我有一個存儲過程和幾個布爾變量(Bit
)。
如果某個變量是False,我想放一個WHERE
語句。有條件/可選where語句
我知道我可以做這樣的事情:
IF (@myBoolean = 1)
BEGIN
SELECT * FROM myTable
END
ELSE
SELECT * FROM myTable WHERE myTable.Foo = 'Bar'
有沒有一種方法,使WHERE
聲明optionnal?因爲我有這麼多的布爾變量,我不想爲每個可能性有不同的查詢。
這就是我的想法(我知道它不工作):
SELECT * FROM myTable
CASE WHEN @myBoolean = 0
THEN WHERE myTable.Foo = 'Bar'
ELSE --Do nothing
這有什麼錯'SELECT * FROM myTable的WHERE @myBoolean = 1或(myTable.Foo = '酒吧' 和@myBoolean = 0)'? – 2013-04-30 18:01:31