比如我想取sysdate的前年11月,如何取?比如今天来取,就应该是2007-11-01有比较简洁的吗?

解决方案 »

  1.   

    select to_char(sysdate,'mm') from dual;
      

  2.   

    刚才看错了!
    select add_months(sysdate,-12) "Last Year" from dual;
      

  3.   

    select (to_char(sysdate,'yyyy')-2)||'-11-1' from dual
    转成日期型就是
    select to_date((to_char(sysdate,'yyyy')-2)||'11','yyyymm') from dual
      

  4.   

    SELECT TO_CHAR(ADD_MONTHS(sysdate,-12),'yyyy')||'-11-01' FROM dual;
      

  5.   

    select add_months(sysdate,-22) from dual;
      

  6.   

    select extract(month from sysdate) from dual;
      

  7.   

    ----前年11月的今天
     select TO_DATE( to_char(sysdate,'yyyy')-2 || '-11-' || to_char(sysdate,'dd'),'yyyy-mm-dd') "前年11月的今天" from dual
      

  8.   


    select TO_DATE( to_char(sysdate,'yyyy')-2 || to_char(sysdate,'mm') || to_char(sysdate,'dd'), 
    'yyyy-mm-dd') "前年的今天"from dual;
      

  9.   

    select add_months(trunc(sysdate,'yyyy'),-14) from dual
    好久远的帖子了。好亲切啊
    给个优化的方案