ORACLE中如何查询上个月的所有数据

解决方案 »

  1.   

    select * from table1
    where date1 >= trunc(add_months(sysdate,-1)) and date1 < trunc(sysdate);
      

  2.   

    --上个月:
    SELECT * FROM table_name WHERE dt BETWEEN Trunc(add_months(SYSDATE,-1),'mm') AND Last_Day(Trunc(SYSDATE,'mm'));
    --前两个月:
    SELECT * FROM table_name WHERE dt BETWEEN Trunc(add_months(SYSDATE,-2),'mm') AND Last_Day(Trunc(SYSDATE,'mm'));
      

  3.   

    where to_char(dt,'yyyymm')=to_char(add_months(sysdate,-1),'yyyymm')
      

  4.   

    select *
    from tb
    where to_char(sysdate,'MM')-1=to_char(你的时间字段,'MM');