Postgresql 时间相减

本文介绍了一种使用SQL计算两个时间点之间的差值,并与数据库中另一字段进行比较的方法。通过EXTRACT函数获取时间戳并转换为分钟数,进而判断是否满足特定条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法比较多,我之前做过一种,可能很笨,但是记录一下。
我是想计算两个时间相差大于数据库里另一个字段,代码片段如下

SELECT round(
(EXTRACT
(EPOCH from CURRENT_TIMESTAMP) -
EXTRACT(EPOCH from t1.visit_time))/60) -
t2.stop_time as cktime

EXTRACT 函数从日期/时间数值里抽取子域,
EPOCH 对于 date 和 timestamp 数值而言, 是自 1970-01-01 00:00:00 以来的秒数(结果可能是负数。); 对于 interval 数值而言,它是时间间隔的总秒数。
我的sql是当前时间和访问时间想减得出秒数然后除以60得出分数,然后和停留时间相比较大于零允许签到。
小宝制造。