我需要在 oracle 11g 的视图中以毫秒为单位获取结束日期和开始日期之间的差异。我可以从数据库中以 07-JUN-12 04.32.21.092000000 AM 格式获取这两个日期。我所需要的只是以毫秒为单位找到这些日期的差异
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;
可以使用上述方法完成
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
编辑 - 我假设日期时间类型。 然而,贾斯汀·凯夫的问题非常相关。 时间戳与日期时间不同,因此如果您正在处理时间戳,我的答案将不起作用。
在这种情况下,请参阅此 http://www.dba-oracle.com/t_timestamp_math_elapsed_times.htm。