日期:2014-05-17  浏览次数:21098 次

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

------解决方案--------------------
SQL code
Select * From agent_calu a Where to_char(trunc(create_date),'yyyymm')
 = to_char(trunc(Sysdate),'yyyymm');

------解决方案--------------------
取一个星期的怎么取的 就是不管当前是星期几 取的都是这一个星期的数据 不带上个星期的

 logdate >=to_char(sysdate-7,'yyyy-mm-dd') and logdate<=to_char(sysdate,'yyyy-mm-dd')
 这样不行。。取的有上个星期的
------解决方案--------------------
当天
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)