将时间戳转换为小时 - postgreSQL

时间:2014-12-10 13:25:04

标签: postgresql

我有一个时间戳" 2161天21:32:40"我想要这几天和几小时,只需要一小时...... 类似于(2161 * 24 + 21 + 32/60 + 40/60/60)= xx.xxx小时

我找不到一个很好的解决方案..尝试使用提取物和其他方法,但没有成功。

感谢

1 个答案:

答案 0 :(得分:5)

使用extract (epoch)获取秒数,然后除以3600:

select extract(epoch from interval '2161 days 21:32:40') / 3600.00 as hours;

有关实施细节的重要说明:这会计算epoch + intervalepoch之间的秒数。使用不同的起点可能会产生不同的结果,因此如果您使用的时间间隔是两个时间戳之间差异的结果,那么您最好计算这两个时间戳之间的秒数差异。< / p>