2014-04-04 86 views
1

我需要在oracle 11g中的視圖內以毫秒爲單位來區分結束日期和開始日期。我可以在07-JUN-12 04.32.21.092000000 AM格式中從數據庫中獲取這兩個日期。我所需要的是以毫秒爲單位尋找這些日期的差異在oracle中獲取日期差值(以毫秒爲單位)

+0

什麼是這些列的數據類型?你反覆說'日期',但'日期'列不包含毫秒。這些真的是'時間戳'列嗎?如果是這樣,他們是'時間戳','時間戳與時區',或'時間戳與當地時區'列? –

+0

時間戳是類型 – Shanaka

回答

2
SELECT ((extract(DAY FROM time2-time1)*24*60*60)+ 
(extract(HOUR FROM time2-time1)*60*60)+ 
(extract(MINUTE FROM time2-time1)*60)+ 
extract(SECOND FROM time2-time1)) *1000 
as millisecs FROM dual; 

可以用上面的方法來完成

0
select (DATE1 - DATE2) as days, 
(DATE1 - DATE2) * 24 as hours, 
(DATE1 - DATE2) * 24 * 60 as minutes, 
(DATE1 - DATE2) * 24 * 60 * 60 as seconds, 
(DATE1 - DATE2) * 24 * 60 * 60 * 1000 as milliseconds 
from dual 

編輯 - 我假定了DateTime類型。然而,賈斯汀凱爾的問題是非常相關的。時間戳與日期時間不同,所以如果您正在處理時間戳,我的回答將不起作用。

在這種情況下,請參閱此http://www.dba-oracle.com/t_timestamp_math_elapsed_times.htm

相關問題