以下相關內容就是對Oracle時間與日期的相關操作的詳細介紹,如果你對Oracle時間與日期的相關操作有不解之處的地方,你可以浏覽以下的文章對其的實際應用有一個更好的了解,以下就是文章的內容介紹。
sysdate+(5/24/60/60) 在系統時間基礎上延遲5秒
sysdate+5/24/60 在系統時間基礎上延遲5分鐘
sysdate+5/24 在系統時間基礎上延遲5小時
sysdate+5 在系統時間基礎上延遲5天
add_months(sysdate,-5) 在系統時間基礎上延遲5月
add_months(sysdate,-5*12) 在系統時間基礎上延遲5年
上月末的日期:
- select last_day(add_months(sysdate, -1)) from dual;
本月的最後一秒:
- select trunc(add_months(sysdate,1),'MM') - 1/24/60/60 from dual
本周星期一的日期:
- select trunc(sysdate,'day')+1 from dual
年初至今的天數:
- select ceil(sysdate - trunc(sysdate, 'year')) from dual;
今天是今年的第幾周 :
- select to_char(sysdate,'fmww') from dual
今天是本月的第幾周:
- SELECT TO_CHAR(SYSDATE,'WW') - TO_CHAR(TRUNC(SYSDATE,'MM'),'WW')
+ 1 AS "weekOfMon" FROM dual
本月的天數
- SELECT to_char(last_day(SYSDATE),'dd') days FROM dual
今年的天數
- select add_months(trunc(sysdate,'year'), 12) -
trunc(sysdate,'year') from dual
Oracle時間在下個星期一的日期
- SELECT Next_day(SYSDATE,'monday') FROM dual
計算工作日方法
- create table t(s date,e date);
- alter session set nls_date_format = 'yyyy-mm-dd';
- insert into t values('2003-03-01','2003-03-03');
- insert into t values('2003-03-02','2003-03-03');
- insert into t values('2003-03-07','2003-03-08');
- insert into t values('2003-03-07','2003-03-09');
- insert into t values('2003-03-05','2003-03-07');
- insert into t values('2003-02-01','2003-03-31');