找到具有时间戳的两个日期之间的分钟差异?

问题描述

我正在使用 Postgres 并希望找到两个具有时间戳的日期之间的差异,我们如何以分钟为单位获取值?

SELECT DATE_PART('sec','2021-02-03 08:14:52'::timestamp) - DATE_PART('sec','2021-02-03 08:17:16'::timestamp);

解决方法

demo:db<>fiddle

两个 timestamp 的不同产生类型 interval。您可以在间隔上使用 EXTRACT(epoch from ...) 以接收以秒为单位的间隔:

SELECT
    extract(epoch from 
        '2021-02-03 08:17:16'::timestamp - '2021-02-03 08:14:52'::timestamp
    ) / 60

将结果除以 60 就是分钟数。