oracle計算兩個日期之間時間差值sql

2021-07-01 18:14:25 字數 1181 閱讀 2883

sql server中有函式datediff能夠比較方便的計算出兩個時間點之間的時間差值,但是oracle就沒有,需要自己寫方法計算,這是比較坑爹的。

自己寫了個分享一下

create or replace function datediff(type in varchar2, starttime in varchar2,endtime in varchar2,v in varchar2) return number  as

v_result number;

sql_1 varchar2(200);

begin

if(type = 'day') then

sql_1 := 'select '||v||'(to_number(to_date('''||starttime||''',''yyyy-mm-dd'') - to_date('''||endtime||''',''yyyy-mm-dd''))) from dual';

elsif(type = 'month') then

sql_1 := 'select '||v||'(months_between(to_date('''||starttime||''',''yyyy-mm-dd'') - to_date('''||endtime||''',''yyyy-mm-dd''))) from dual' ;

elsif(type = 'week') then

sql_1 := 'select '||v||'(to_number(to_date('''||starttime||''',''yyyy-mm-dd'') - to_date('''||endtime||''',''yyyy-mm-dd''))/7) from dual ';

end if;

execute immediate sql_1 into v_result ;

return (v_result);

end;

測試sql :  select datediff('week','2015-4-12','2015-4-1','floor') as week from dual ;

注釋:// 第乙個引數type   'week'表示周,'month'表示月,'day'表示天

//中間傳倆日期

//第四個引數:周或月四捨五入用『round』 ,向上取整用『ceil』 向下取整用『floor』

oracle中計算兩個日期之間的差值

最近幾天在工作中用到了一項計算時間的功能,計算兩個時間之間的天數差,順道總結一下oracle中的語句 兩個date型別字段 start date,end date,計算這兩個日期的時間差 分別以天,小時,分鐘,秒,毫秒 天 round to number end date start date 小時...

Python計算兩個日期之間天數

有的時候要統計兩個日期之間的相距天數,可能有很多種方法,但使用datetime模組的datetime方法無疑是裡面比較簡單的,具體 如下 import datetime d1 datetime.datetime 2018,10,31 第乙個日期 d2 datetime.datetime 2019,0...

計算兩個日期之間的天數

問題描述 給定兩個日期,計算相差的天數。比如2010 1 1和2010 1 3相差2天。時間限制 1000 記憶體限制 65536 輸入共兩行 第一行包含三個整數startyear,startmonth,startday,分別是起始年 月 日。第二行包含三個整數endyear,endmonth,en...