--取当前日期前一个月的第一天的日期
SELECT last_day(add_months(SYSDATE, -2)) + 1 FROM dual;
--取当前日期前一个月的最后一天的日期
SELECT last_day(add_months(SYSDATE, -1)) FROM dual;
--本月的第一天和最后一天
select to_char(trunc(sysdate,‘MONTH‘),‘yyyy-mm-dd‘) First_DayOfMonth
,to_char(last_day(trunc(sysdate,‘MONTH‘)),‘yyyy-mm-dd‘) Last_DayOfMonth
from dual;
---周,oracle默认周日为本周第一天
select trunc(sysdate,‘iw‘) from dual; --本周一
select trunc(sysdate,‘iw‘)+6 from dual; ---本周日
select trunc(sysdate,‘iw‘) - 7 from dual;---上周一
select trunc(sysdate,‘iw‘) - 1 from dual;--上周日
---今天为本年本月第几天
select
to_char(sysdate, ‘yyyy‘) as year, --oracle求当前年
to_char(sysdate, ‘q‘) as quarter, -- oracle求当年的第几季度
to_char(sysdate, ‘mm‘) as month, --oracle求当年第几月
to_char(sysdate, ‘iw‘) as week, --oracle求当年的第几周(IOS周)
to_char(sysdate, ‘ww‘) as week2, --oracle求当年的第几周(1月1号为第一周的周一)
to_char(sysdate, ‘ddd‘) as dayofyear, --oracle求当年的第几天
to_char(sysdate, ‘dd‘) as dayofmonth, --oracle求当月的第几天
to_char(sysdate, ‘yyyymmdd‘) as day --oracle求当月的第几天
from dual;
---oracle时间计算
select sysdate - 1 from dual; ---前一天
select add_months(sysdate,-1) from dual; ----前一个月今天
select add_months(sysdate,1) from dual; ----后一个月今天
select last_day(sysdate) from dual; --本月最后一天
select to_char(sysdate,‘D‘) from dual; ---本周第几日(周日为第一天)