首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取两个Oracle时间戳之间的秒数

获取两个Oracle时间戳之间的秒数
EN

Stack Overflow用户
提问于 2010-10-18 17:32:34
回答 3查看 72.9K关注 0票数 20

Tom Kyte suggests使用EXTRACT来获取差异:

extract( day from (x-y) )*24*60*60+
extract( hour from (x-y) )*60*60+
...

这似乎比这个更难读,速度也更慢,例如:

( CAST( x AS DATE ) - CAST( y AS DATE ) ) * 86400

那么,如何以秒为单位获取两个时间戳之间的差异?谢谢!

EN

回答 3

Stack Overflow用户

发布于 2010-10-18 18:46:54

我总是使用第二种方法,即比较日期(这会给出天数差,带有小数部分),然后乘以你想要给出的小时、分钟、秒或其他值的因子。

我认为它很好用,而且很容易阅读。

票数 3
EN

Stack Overflow用户

发布于 2010-10-18 20:11:27

就个人而言,我发现:

extract(day from (x-y))*24*60*60 + ... + extract(second from (x-y))

目的比…更清楚。

( CAST( x AS DATE ) - CAST( y AS DATE ) ) * 86400

以秒为单位得到差值。

Tom的方法需要更多的击键操作,但意图很明确。

票数 1
EN

Stack Overflow用户

发布于 2014-04-16 14:53:58

to_number(to_char(t2, 'yyyymmddhh24missff')) - to_number(to_char(t1, 'yyyymmddhh24missff'))
票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3957909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档