如何获得带有日期部分的postgres中的日期差异

问题描述

如何获取Postgres中的日期时间差异

我正在使用以下语法

DATE_PART('hour',A_column::timestamp-B_column::timestamp )

我想要这样的输出

如果A_column=2020-05-20 00:00:00B_column=2020-05-15 00:00:00我希望获得72(小时)。

是否有可能在第一个周末跳过周末(星期六和星期日),这意味着将结果设为72小时(不包括周末时间)

如果A_column=2020-08-15 12:00:00B_column=2020-08-15 00:00:00我想得到12(以小时为单位)。

解决方法

您可以这样写:

select extract(epoch from a_column::timestamp - b_column::timestamp) / 60 / 60
from mytable

合理的价格:将两个时间戳相减得到一个间隔;然后可以将其设置为几秒钟,然后进行算术运算以将其转换为小时。