【发布时间】:2009-09-03 19:20:42
【问题描述】:
我有一个问题:
SELECT ID FROM requests WHERE date <operator> <expression>
我需要根据存储过程的参数更改<expression>。
如果设置了标志:WHERE date BETWEEN GETDATE() - 7 AND GETDATE()
如果不是:WHERE date = date
我尝试使用 CASE-THEN,但它强制使用具体运算符,但我必须有几个:
SELECT ID FROM requests WHERE date = -- here it is
CASE
WHEN @flag = 1 THEN ..
ELSE date
END
【问题讨论】:
-
从请求中选择 ID 怎么样?如果@flag = 1,那么日期在 GETDATE() - 7 AND GETDATE() ELSE 1 = 1 END 之间?
-
@shahkalpesh 您能否将其发布为带有突出显示的答案?
标签: sql tsql sql-server-2008