您的位置:首页 > 数据库 > Oracle

oracle获取时间段

2011-12-09 13:49 197 查看
获取本周、上周、去年同期周时间段、当前月、上个月、去年同期月份时间段、当前季度、上个季度、去年同期季度时间段、今年、去年同期年份时间段

用途:统计图

纠结原因:获取的都是时间段,可恶时间段(=@__@=)

如当前月:2011.12.01 00:00 ~ 2011.12.07 22:33

上个月:2011.11.01 00:00 ~ 2011.11.07 22:33

去年同期月份时间段:2010.12.01 00:00 ~ 2011.12.07 22:33

加班搞了个这.

--本周

select (TRUNC(SYSDATE-1,'d')+1) , sysdate from dual;

--上周

select (TRUNC(SYSDATE-1,'d')-6) , (SYSDATE-7) from dual;

--去年同期周时间段

select (trunc(add_months(trunc(sysdate),-12)-1,'d')+1) ,add_months(sysdate,-12) from dual;

--当前月

select trunc(sysdate,'mm'),sysdate from dual;

--上个月

select trunc(add_months(sysdate,-1),'mm') , (sysdate-to_number(to_char(last_day(add_months(sysdate,-1)),'dd'))) from dual;

--去年同期月份时间段

select add_months(trunc(sysdate,'mm'),-12),add_months(sysdate,-12) from dual;

--当前季度

select trunc(sysdate,'Q'),sysdate from dual;

--上个季度

select add_months(trunc(sysdate,'Q'),-3) , add_months(sysdate,(to_number(to_char(trunc(sysdate,'Q'),'mm'))-to_number(to_char(sysdate,'mm'))-1) ) from dual;

--去年同期季度时间段

select add_months(trunc(sysdate,'Q'),-12),add_months(sysdate,-12) from dual;

--今年

select trunc(sysdate,'yyyy'),sysdate from dual;

--去年同期年份时间段

select add_months(trunc(sysdate,'yyyy'),-12),add_months(sysdate,-12) from dual;
本文出自 “艾客” 博客,请务必保留此出处http://jrunner.blog.51cto.com/1015356/737932
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: