在哪里与DATEADD一起使用

时间:2012-09-27 13:54:17

标签: sql-server case where between

我正在尝试编写一个SQL,它会提取所有日期范围或过去90天。一切正常但下面的代码所在的代码决定了要查看的日期。

WHERE 
   CASE @All_90 
      WHEN @All_90 = 1 
      THEN td.DateSeen NOT BETWEEN DATEADD(day,-90,GETDATE()) and GETDATE()

@All_90是用于确定代码是查看所有日期还是仅查看90天之前的日期的变量。

1 个答案:

答案 0 :(得分:1)

我认为这会为你做到:

WHERE 
    (@All_90 = 1 AND td.DateSeen NOT BETWEEN DATEADD(day,-90,GETDATE()) and GETDATE())
    OR (@All_90 = 0 AND td.DateSeen BETWEEN DATEADD(day,-90,GETDATE()) and GETDATE())