Oracle中求時間差的SQL

2021-09-01 16:45:17 字數 957 閱讀 7859

有兩個日期資料start_date,end_date,欲得到這兩個日期的時間差(以天,小時,分鐘,秒,毫秒):天:

round(to_number(end_date - start_date))

小時:round(to_number(end_date - start_date) * 24)

分鐘:  www.2cto.com  

round(to_number(end_date - start_date) * 24 * 60) 秒:

round(to_number(end_date - start_date) * 24 * 60 * 60)

毫秒:round(to_number(end_date - start_date) * 24 * 60 * 60 * 60)

使用舉例:

1.求某個時間與當前時間的時間差(天數)

select round(to_number(sysdate - to_date('2013-3-29','yyyy-mm-dd hh:mi:ss'))) from  dual;

注意:

如果是乙個日期型別(date)的字段,如s.pack_date

你寫成:

select round(to_number(sysdate - to_date(s.pack_date,'yyyy-mm-dd hh:mi:ss'))) from  dual;

一定會報乙個:

ora-01861:文字與格式字串不匹配 的錯誤;

辦法:指定日期格式,即:

(select round(to_number(sysdate - to_date(to_char(s.pack_date,'yyyy-mm-dd hh:mi:ss'),'yyyy-mm-dd hh:mi:ss'))) from  dual) days,

SQL 求時間差

前兩天在寫程式的時候,為了計算兩個日期相差的天數,真是大費周折啊,我才開始 的時候想的是把 時間格式轉換為 long 型,後來一想,不對進製不同啊,後來我想到了資料庫,用 sql2005 中的datediff 函式,問題是解決了,可是每次都得和資料庫互動啊!終於同事的乙個大哥交 了乙個方法,這個方法...

python求時間差

1.python求時間差不能使用time 模組,eg t1 time.ctime time.sleep 3 t2 time.ctime t t2 t1 會報錯,不能相減 2.需要使用datetime模組,datetime模組比time模組更能更強。d1 datetime.datetime.now t...

pandas中求平均時間差

用最大時間減去最小時間 然後除以次數 報錯 typeerror ufunc true divide cannot use operands with types dtype o and dtype 同樣的程式在處理訓練集和測試集出現的結果是不同的 時間型別均為 ordertime x datetim...