where to_char(datecol,'yyyymm')>=to_char(addmonth(sysdate,-3),'yyyymm')

解决方案 »

  1.   

    SQL> select add_months(sysdate,-3) from dual;ADD_MONTHS(SYSDATE,
    -------------------
    2005-04-01 09:55:28已用时间:  00: 00: 00.01
    SQL> 
    select * from tbname where col_date>=add_months(sysdate,-3);
      

  2.   

    zhpsam109(孤寂无边) 摆脱下次把函数写对:
    where to_char(datecol,'yyyymm')>=to_char(add_months(sysdate,-3),'yyyymm')
      

  3.   

    --日期相加减(
    如果要减就前加负号)
    select sysdate from dual;SYSDATE
    ---------
    15-JUN-05SQL> select sysdate + 3*365 +1 from dual;SYSDATE+3
    ---------
    15-JUN-08SQL> select add_months(sysdate,36) from dual;ADD_MONTHS(SYSDATE,
    -------------------
    2008-06-15 16:56:19已用时间:  00: 00: 02.23加3年
    select sysdate + interval '3' year from dual
    加3年2个月
    select sysdate + interval '3-2' year to month from dual
    加10天2小时10分
    select sysdate + interval '10 2:10' day to minute from dual