从当前日期开始每周显示日期的SQL查询

从当前日期开始每周显示日期的SQL查询,sql,oracle,function,oracle19c,Sql,Oracle,Function,Oracle19c,我有一个要求,显示日期每周从当前日期开始48个月 我想知道是否可以通过SQL实现,或者我必须编写一个函数来实现它 以下是迄今为止我的SQL:- SELECT CALENDAR_DATE FROM CALENDAR --My Table Name WHERE ( CALENDAR_DATE >= trunc(sysdate) AND CALENDAR_DATE <= ADD_MONTHS(TRUNC(SYSDATE, 'MONTH'), 48)-1

我有一个要求,显示日期每周从当前日期开始48个月

我想知道是否可以通过SQL实现,或者我必须编写一个函数来实现它

以下是迄今为止我的SQL:-

SELECT
  CALENDAR_DATE
FROM
  CALENDAR --My Table Name
WHERE
  (
   CALENDAR_DATE  >=  trunc(sysdate)
   AND
   CALENDAR_DATE  <=  ADD_MONTHS(TRUNC(SYSDATE, 'MONTH'), 48)-1
  )
预期产出:-

 9/10/2020
   9/17/2020
   9/24/2020
   10/01/2020

如果我理解正确:

WHERE CALENDAR_DATE  >=  trunc(sysdate) AND
      CALENDAR_DATE  <=  ADD_MONTHS(TRUNC(SYSDATE, 'MONTH'), 48) - 1 AND
      MOD(CALENDAR_DATE - TRUNC(sysdate), 7) = 0
WHERE CALENDAR_DATE  >=  trunc(sysdate) AND
      CALENDAR_DATE  <=  ADD_MONTHS(TRUNC(SYSDATE, 'MONTH'), 48) - 1 AND
      MOD(CALENDAR_DATE - TRUNC(sysdate), 7) = 0
WHERE CALENDAR_DATE  >=  trunc(sysdate) AND
      CALENDAR_DATE  <=  ADD_MONTHS(TRUNC(SYSDATE, 'MONTH'), 48) - 1 AND
      TO_CHAR(CALENDAR_DATE, 'DY') = TO_CHAR(sysdate, 'DY')