如何在PostgreSQL中找到以秒为单位的两个日期之间的日期差异?
在SQL-Server中没有提供以秒为单位的日期差异的函数:
DATE_DIFF(second, '2011-12-30 09:55:56', '2011-12-30 08:54:55')
请帮我把这个也放到PostgreSQL里
发布于 2012-11-29 21:36:01
首先,日期需要是timestamp
类型的值(因此,如果只是将它们指定为字符串文字,请附加::timestamp
)。
如果减去两个时间戳,则结果为interval
类型,它描述了一段时间(以小时、分钟、秒等为单位)。您可以使用extract(epoch from interval_value)
将间隔转换为绝对秒数。
所以,把所有这些放在一起:
select extract(epoch from ('2011-12-30 09:55:56'::timestamp - '2011-12-30 08:54:55'::timestamp));
请记住,仅在将字符串文字转换为时间戳时才需要::timestamp
:例如,如果您正在使用时间戳列的值,则不需要它。
https://stackoverflow.com/questions/13626887
复制相似问题