如何找出一个INTERVAL包含另一个的次数?

时间:2019-01-30 09:46:39

标签: sql postgresql datetime timestamp intervals

我有两个TIMESTAMP和一个INTERVAL。我想知道时间间隔适合时间戳之间的间隔的次数。

减去两个TIMESTAMP给我一个INTERVAL

SELECT TIMESTAMP '2019-01-30' -  TIMESTAMP '2019-01-29';

->
0 years 0 mons 1 days 0 hours 0 mins 0.00 secs

但是我不能做INTERVAL / INTERVAL部门。这是一个例外:

SELECT (TIMESTAMP '2019-01-30' -  TIMESTAMP '2019-01-29') / INTERVAL '1 hour';

我想在末尾有一个整数。 24用于上一个示例。有没有办法在PostgreSQL中处理它?<​​/ p>

1 个答案:

答案 0 :(得分:2)

您需要规范化两个间隔,例如通过提取秒数然后除以秒:

SELECT extract(epoch from (TIMESTAMP '2019-01-30' -  TIMESTAMP '2019-01-29')) / extract(epoch from INTERVAL '1 hour');