oracle中有没有什么函数可以查询当天、一周和一个月的数据
  a表中的一个字段generateTime(写入数据库时间,DATE类型),现在想根据generateTime分别查询当天、一个星期、一个月的数据,请问SQL语句该怎么写?谢谢...

解决方案 »

  1.   

    select sysdate from dual;取当前日期
    select extract(month from sysdate) from dual;取当前月
    至于星期还真不知道怎么去取
      

  2.   

    --查询当天的数据
    select * from a where generateTime=sysdate
    --查询一个星期的数据
    select * from a where (sysdate-generaeTime)=7
    --查询一个月的数据
    select * from a where months_between(sysdate,generateTime)=1
      

  3.   

    Select * From agent_calu a Where trunc(create_date)
     = trunc(Sysdate);
    当天的
      

  4.   

    Select * From agent_calu a Where to_char(trunc(create_date),'yyyymm')
     = to_char(trunc(Sysdate),'yyyymm');
    当月的
      

  5.   

    取一个星期的怎么取的  就是不管当前是星期几  取的都是这一个星期的数据  不带上个星期的   logdate >=to_char(sysdate-7,'yyyy-mm-dd') and logdate<=to_char(sysdate,'yyyy-mm-dd')
     这样不行。。取的有上个星期的 
      

  6.   

    当天
    Select * From agent_calu a Where trunc(create_date)
     = trunc(Sysdate);  (借5楼)当月的Select * From agent_calu a Where to_char(create_date,'yyyymm')
     = to_char(Sysdate,'yyyymm');当星期的
    trunc(Sysdate,'d')这是这个星期的第一天。
    Next_day(trunc(sysdate,'d'),7) 这是这个星期的最后天。
    Select * From agent_calu a Where trunc(create_date)>=trunc(Sysdate,'d')
    AND trunc(create_date)<= Next_day(trunc(sysdate,'d'),7)
      

  7.   

    Select * From agent_calu a Where trunc(create_date) = trunc(Sysdate);
    如果create_date有索引的话,可以用吗?