我需要找到发送所有文档的时间不超过10分钟的所有应用程序。我已经完成了其余的代码,但是date_part函数有问题。下面的代码工作正常,但我必须找到另一种方法。我该怎么做?
abs(
round(
(
date_part('hour',d.received_date)
-
date_part('hour',d.send_date)
) * 60
+
(
date_part('minute', d.received_date)
-
date_part('minute', d.send_date)
)
)
) as sendTime
答案 0 :(得分:0)
我不清楚是要将结果限制为相差小于10分钟的行(如问题所述),还是只想以分钟为单位显示两个时间戳之间的结果(如您在评论)。
表达式r.received_date - r.send_date
返回一个interval
,可以很容易地将其转换为分钟。因此,要显示差异,请使用:
extract(epoch from d.received_date - d.send_date) / 60 as minutes
将结果限制为仅相差小于10分钟的行,请使用:
select ...
from ...
where d.received_date - d.send_date <= interval '10' minute