SQL WHERE子句根据与当前日期相距91-97天的日期提取记录

时间:2019-03-14 13:56:55

标签: sql oracle11g

我在SQL方面没有很多经验,但是我需要弄清楚如何使用WHERE子句从当前日期和日期中提取91-97天(将来)的日期具体日期。

发生的事情是每个星期一,都运行了此查询,但是我们的系统发生了一些事情,阻止了该查询的运行。因此,我希望它从本周初(3/11)开始运行,但我也希望在当前日期执行此操作的代码也是如此。

2 个答案:

答案 0 :(得分:0)

为此的标准SQL是:

where datecol >= current_date + interval '91 day' and
      datecol < current_date + interval '98 day'

某些数据库支持此特定语法。所有数据库都以某种形式具有此功能。

在Oracle中,我将其表示为:

where datecol >= trunc(sysdate) + interval '91' day and
      datecol < trunc(sysdate) + interval '98' day

答案 1 :(得分:0)

如果您使用的是SQL Server,但我没错:

SELECT DATEADD(Day,a,Convert(date, getdate()))
  FROM (VALUES (91),(92),(93),(94),(95),(96),(97)) AS X(a)

向您返回当前日期以后91到97天之间的所有日期的列表。