2015-06-12 126 views
0

如何在几秒钟内找到两个时间戳之间的差异?PL/SQL中的DateDiff

是否有任何系统的功能,或者我应该手动计算这样

SELECT t1_id, 
EXTRACT(Day FROM(mod_date_time – create_date_time) DAY TO SECOND) as Day, 
EXTRACT(HOUR FROM(mod_date_time – create_date_time) DAY TO SECOND) as Hour, 
EXTRACT(Minute FROM(mod_date_time – create_date_time) DAY TO SECOND) as Minute, 
EXTRACT(SECOND FROM(mod_date_time – create_date_time) DAY TO SECOND) as second 
FROM t1; 

回答

0

在Oracle一些二,日期只是数字。每天是1个整数。找到秒差可以做到如下:

SELECT (mod_date_time - create_date_time) * 24 * 60 * 60 as "seconds_diff" 
FROM t1 
+0

我得到结果+000007260 00:00:00.000000000,如何转换为数字类型? hawk – asfasas

+0

@asfasas你总是可以使用适当的掩码转换结果。你用于'mod_date_time'和'create_date_time'的值是什么? – Hawk