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...