Oracle時間日期操作

2021-06-02 14:26:05 字數 1696 閱讀 3537

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

下個星期一的日期

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');

-- 這裡假定日期都是不帶時間的,否則在所有日期前加trunc即可。

select s,e,e-s+1 total_days,

trunc((e-s+1)/7)*5 + length(replace(substr('01111100111110',to_char(s,'d'),mod(e-s+1,7)),'0','')) work_days

from t;

-- drop table t;

引此:

Oracle關於時間 日期的操作 總結

1.日期時間間隔操作 當前時間減去7分鐘的時間 select sysdate,sysdate interval 7 minute from dual 當前時間減去7小時的時間 select sysdate interval 7 hour from dual 當前時間減去7天的時間 select sy...

delphi 時間日期操作

delphi 時間日期操作 用於時間操作的函式 date函式 定義 date tdatetime 作用 返回當前的日期 範例 currentdate date dayofweek函式 定義 function dayofweek date tdatetime integer 作用 得到指定日期的星期值...

PHP時間日期操作

1 date default timezone set prc 預設時區 2 當前的時間增加5天 3 date1 2014 11 11 4echo date y m d strtotime date1 5 day 輸出結果 2014 11 16 5 相應地,要增加月,年,將day改成month或ye...