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

Oracle 获取本周、本月、本季、本年的第一天和最后一天 (咋个办呢 zgbn)

2017-11-08 17:33 429 查看
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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐