2010-01-13 110 views
1

當我這樣做查詢SUBSTR(e.updatetime - s.updatetime,1,30),我會得到下面的結果 000000001 05:06:47.388000甲骨文SUBSTR日期時間

可以將這保存java.util中。日期?或Java類我應該使用非字符串的這緩解我找回天,分鐘,小時...

P/S:e.updatetime是時間戳類型

+2

SUBSTR需要一個字符串作爲第一個參數,不過你傳遞的時間間隔。因此它正在爲您執行隱式數據類型轉換 - 最好使用TO_CHAR進行顯式數據類型轉換。使用Gary的建議可能會更好,並避免任何轉換。 – 2010-01-13 06:04:41

回答

3

開始與不同的領域,就加入他們瞭如你所願。

select extract (day from (time_b-time_a)), 
     extract (hour from (time_b-time_a)), 
     extract (minute from (time_b-time_a)), 
     extract (second from (time_b-time_a)) 
from ....; 
1

這個片段可能也有幫助:

select ..., 
    extract (day from (j.finished_date - j.started_date)) * 86000 + 
    extract (hour from (j.finished_date - j.started_date)) * 3600 + 
    extract (minute from (j.finished_date - j.started_date)) * 60 + 
    extract (second from (j.finished_date - j.started_date)) as "duration"