现在有一张A表,有个字段createTime是时间类型。
需求是要求分别查询出当前时间开始 一周内,一月呢,24小时内的数据,
请问下and条件该怎么写

解决方案 »

  1.   


    select *
    from tb1
    where createTime > sysdate - 7 --参数自己设置1就是一天 如果是1小时 就是sysdate - 1/24
      

  2.   

    select * from a where createTime>= SYSDATE-7
    select * from a where createTime>= SYSDATE-30
    select * from a where createTime>= SYSDATE-1
      

  3.   

    一 如果是天,可以直接的用相加减的方法,比如sysdate +7,表一周内
    二 小时,用SELECT SYSDATE +1/24*2 FROM dual 表示两个小时内
      

  4.   

    select * from a where createtime>=sysdate-1 --24小时
    select * from a where createtime>=sysdate-7--一周
    select * from a where createtime>=TO_DATE(TO_CHAR(SYSDATE, 'YYYY-MM') ||
                                  '-01 00:00:01',
                                  'YYYY-MM-DD HH24:MI:SS') --从月初到现在的所有
      

  5.   


    select * from a where createTime>= SYSDATE-30 这个会不会自动判断当前月份的天数呢
      

  6.   

    --一天
    select * from a where createTime>= SYSDATE-1;
    --一周
    select * from a where createTime>= SYSDATE-7;
    --一月
    select * from a where createTime>= add_months(SYSDATE,-1);
    --一年
    select * from a where createTime>= add_months(SYSDATE,-12);
      

  7.   

    --一天
    select * from a where createTime>= SYSDATE-1;
    --一周
    select * from a where createTime>= SYSDATE-7;
    --一月
    select * from a where createTime>= SYSDATE-interval '1' month;
    --一年
    select * from a where createTime>= SYSDATE-interval '12' month;