我需要一个查询,我可以从oracle中的当前系统日期获取最后12个月的结束日期。
以下是我在Oracle中使用的示例查询
select
trunc(add_months(sysdate,level-1),'MM') first_day,
last_day(add_months(sysdate,level-1)) last_day
from dual
connect by level<=12;
答案 0 :(得分:1)
select
trunc(add_months(sysdate-numtoyminterval(1, 'YEAR'),level-1),'MM') first_day,
last_day(add_months(sysdate-numtoyminterval(1, 'YEAR'),level-1)) last_day
from dual
connect by level<=12;
现在开始,即sysdate
,开始时间是一年前:sysdate-numtoyminterval(1, 'YEAR')
答案 1 :(得分:1)
请试试这个:
SELECT TRUNC (ADD_MONTHS (SYSDATE, -(LEVEL - 1)), 'MM') FIRST_DAY,
LAST_DAY (ADD_MONTHS (SYSDATE, -(LEVEL - 1))) LAST_DAY
FROM DUAL
CONNECT BY LEVEL <= 12;