Oracle 獲取本週、本月、本季、本年的第一天和最後一天ast
--本週date
select trunc(sysdate, 'd') + 1 from dual;select
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;