首页 > 解决方案 > 如何在 PostgreSQL 中将时间戳转换为秒(和分数)

问题描述

我试图通过查看记录中的两个日期,将它们相减并以秒数和分数的形式获得结果,从而从 PostgreSQL 数据库中获取一些(应用程序)性能数据。

似乎我能够获得一个时间戳,其中包括小时、分钟、秒和毫秒,或者我可以只获得秒(和分数)而没有例如分钟,或者我可以获得只有秒的 UNIX 时间戳(没有毫秒)。有没有一种方便的方法可以将时间戳转换为秒+毫秒?

例子:

SELECT extract(SECOND FROM TIME '00:01:02.1234') as secs;
secs
--------
2.1234

我希望得到62.1234(即1 * 60 + 02.1234)作为总秒数的返回值,而不仅仅是时间值的“秒分量”。

是否有现有的功能可以做到这一点,还是我必须将EXTRACT每个部分、乘法并将每个组件加在一起?

标签: postgresqldatetime

解决方案


使用EPOCH

SELECT extract(EPOCH FROM TIME '00:01:02.1234') as secs; 62.1234


推荐阅读