需要列出过去 12 个月的所有日期的查询
假设我当前的日期是 2013 年 10 月 21 日。需要使用 sysdate 来获取数据
结果应该看起来像
10/21/2013
...
10/01/2013
09/30/2013
...
09/01/2013
...
01/31/2013
...
01/01/2013
...
11/30/2012
...
11/01/2012
请帮我解决这个问题。在此先感谢。
平均
允许闰年和所有,通过使用 add_months 计算出 12 个月前的日期,从而生成多少行......
select trunc(sysdate) - rownum + 1 the_date
from dual
connect by level <= (trunc(sysdate) - add_months(trunc(sysdate),-12))
你可以这样做:
select to_date('21-oct-2012','dd-mon-yyyy') + rownum -1
from all_objects
where rownum <=
to_date('21-oct-2013','dd-mon-yyyy') - to_date('21-oct-2012','dd-mon-yyyy')+1
当然,您可以使用开始和结束日期的参数以使其更可用。
- 或 - 使用 sysdate,如下所示:
select sysdate + interval '-1' year + rownum -1
from all_objects
where rownum <=
sysdate - (sysdate + interval '-1' year)
Try this
SELECT SYSDATE,
SYSDATE-1,
<continue>
SYSDATE-30,
<continue>
.........
<continue>
SYSDATE-364,
SYSDATE-365
FROM DUAL;