请问orcale如何取得一下时间  
 1、本年第一天和最后一天
 2、去年第一天和最后一天
 3、去年同期月份的第一天和最后一天
请高手指教不胜感激,所有分数奉上!

解决方案 »

  1.   

    SELECT trunc(SYSDATE,'yyyy') first_day,add_months(trunc(SYSDATE,'yyyy')-1,12) lastday FROM dual;
    SELECT add_months(trunc(SYSDATE,'yyyy'),-12),trunc(SYSDATE,'yyyy')-1 lastday FROM dual;
      

  2.   

    SELECT ADD_MONTHS(TRUNC(SYSDATE, 'mm'),-12) MONTH_FIRSTDAY,
           ADD_MONTHS(last_day(TRUNC(SYSDATE, 'mm')), -12) month_LASTDAY
      FROM DUAL;
      

  3.   

    1 . 
    select trunc(sysdate,'yyyy') ,
           trunc(to_date(to_char(sysdate,'yyyy')+1,'yyyy'),'yyyy')-1
    from dual ; 2. 
    select trunc(sysdate,'yyyy')-1 ,
           trunc(to_date(to_char(sysdate,'yyyy')-1,'yyyy'),'yyyy')
    from dual ; 3. 
    select trunc(to_date(to_char(sysdate,'yyyy')-1,'yyyy'),'mm'),
           last_day(to_date(to_char(sysdate,'yyyy')-1,'yyyy'))
     from dual ;