📅  最后修改于: 2023-12-03 15:03:50.052000             🧑  作者: Mango
在 PostgreSQL 中,我们可以使用 EXTRACT()
函数来获取两个日期之间的小时差。下面是一些例子:
SELECT EXTRACT(HOUR FROM TIMESTAMP '2021-08-01 18:00:00' - TIMESTAMP '2021-08-01 12:00:00');
执行上述 SQL 语句之后,将会返回 6
。
SELECT EXTRACT(HOUR FROM TIMESTAMP '2021-08-01 18:00:00' - TIMESTAMP '2021-08-01 12:00:00' + INTERVAL '1 DAY');
执行上述 SQL 语句之后,将会返回 30
。
PostgreSQL 提供了 EXTRACT()
函数用于从时间戳中提取单个字段(例如,年、月、日、小时、分钟和秒等)。该函数采用两个参数。第一个参数是我们想要从中提取的字段(例如,小时),第二个参数是要提取的时间戳。
在示例 1 中,我们从 2021 年 8 月 1 日 12:00 到 2021 年 8 月 1 日 18:00 的时间戳中提取小时数。为此,我们需要从较大的时间戳中减去较小的时间戳,并使用 EXTRACT()
函数提取小时数。
在示例 2 中,我们从 2021 年 8 月 1 日 12:00 到 2021 年 8 月 2 日 18:00 的时间戳中提取小时数。因为这两个时间戳跨越了一天,因此,我们需要将结果增加一天,以获取正确的小时数。