dual 是系统自带的日期表
trunc() 系统时间函数 sysdate 可以获取当前日期 last_day(sysdate) 获取本月最后一天
本周第一天
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(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_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;