Oracle 获取本周、本月、本季、本年的第一天和最后一天

来源:互联网 发布:windows linux 大数据 编辑:程序博客网 时间:2024/06/01 08:53

在Oracle数据库查询统计的时候经常会用周、月、季度和年的第一天和最后一天。

找了一个整理好的分享给大家:

--本周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;  -- 获取上月的开始时间和结束时间select to_char(to_date(to_char(add_months(sysdate, -1), 'yyyy-mm'),'yyyy-mm'),'yyyy-mm-dd hh24:mi:ss')  from dual;select to_char(to_date(to_char(sysdate, 'yyyy-mm'), 'yyyy-mm'),'yyyy-mm-dd hh24:mi:ss')  from dual;-- 获取前一天的开始时间和结束时间select to_char(to_date(to_char(sysdate - 1, 'yyyy-mm-dd'), 'yyyy-mm-dd'),'yyyy-mm-dd hh24:mi:ss')  from dual;select to_char(to_date(to_char(sysdate, 'yyyy-mm-dd'), 'yyyy-mm-dd'),'yyyy-mm-dd hh24:mi:ss')  from dual;-- 获取上一个小时的开始时间和结束时间select to_date(to_char(sysdate, 'yyyy-mm-dd') || (to_char(sysdate, 'hh24') - 1),'yyyy-mm-dd hh24')  from dual;select to_date(to_char(sysdate, 'yyyy-mm-dd') || (to_char(sysdate, 'hh24')),'yyyy-mm-dd hh24')  from dual;

转载:http://you-java.iteye.com/blog/1431534

0 0