各位大哥大姐:在oracle里,怎么取得本周、本月、本季度、本年度的第一天和最后一天的时间?
原来是在C#里实现过,但是我只想在数据库里面实现。如时间格式:2010-01-01  2010-12-31
因为要在存储过程里循环生成统计好本周、本月、本季度、本年度的数据,所以改得我也不懂的在oracle里做了。
哪位懂得呢?帮我写个,先谢谢了

解决方案 »

  1.   

    这个有点复杂,我当时整整做了一个月这样的统计尤其是周的划分比较复杂,其它的好统计参考http://blog.csdn.net/java3344520/archive/2009/11/05/4771759.aspx
      

  2.   

    --本周
    select trunc(sysdate,'d')+1 from dual;
    select trunc(sysdate,'d')+7 from dual; 
    --本月
    select trunc(sysdate,'mm') from dual;
    select last_day(trunc(sysdate)) from dual;
    --本季
    select trunc(sysdate,'Q') from dual;
    select add_months(trunc(sysdate,'Q'),3)-1 from dual;
    --本年
    select trunc(sysdate,'yyyy') from dual;
    select add_months(trunc(sysdate,'yyyy'),12)-1 from dual;