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

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

------解决方案--------------------
这个有点复杂,我当时整整做了一个月这样的统计

尤其是周的划分比较复杂,其它的好统计

参考http://blog.csdn.net/java3344520/archive/2009/11/05/4771759.aspx
------解决方案--------------------
SQL code
--本周
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;