SELECT * FROM someTable WHERE someField = 'A'
and (EndTime > @someTime OR EndTime IS NULL)
以上是原始查询。现在我有一个新的条件,看看是否要带走EndTime IS NULL
。
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个查询中?
答案 0 :(得分:2)
main
答案 1 :(得分:0)
SELECT * FROM someTable WHERE someField = 'A'
and (EndTime > @someTime AND @Throw = 1) OR ((EndTime > @someTime OR EndTime is NULL) AND @Throw = 0)