0
SELECT * FROM someTable WHERE someField = 'A'
and (EndTime > @someTime OR EndTime IS NULL)
上面是原始查詢。現在我有一個新的條件,看看是否帶走EndTime IS NULL
。如何有條件地刪除where子句中的條件?
SET @Throw = 1;
IF @Throw = 1
BEGIN
SELECT * FROM someTable WHERE someField = 'A'
and (EndTime > @someTime)
END
ELSE IF @Throw = 0
BEGIN
SELECT * FROM someTable WHERE someField = 'A'
and (EndTime > @someTime OR EndTime IS NULL)
END
我想知道如果這可以實現1查詢本身或它必須在2查詢?
只是爲了信息,爲什麼不把'結束時間IS NULL'在第一斷言或條件。它有助於表現。例如,上面的代碼應該是: - SELECT * FROM someTable WHERE someField ='A' 和(EndTime IS NULL或EndTime> @someTime)' –