如何在Oracle中获取过去12个月的结束日期

时间:2015-04-16 15:28:59

标签: oracle

我需要一个查询,我可以从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;

2 个答案:

答案 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;