Postgres查询比较两个日期是否与保证金相等

时间:2016-05-19 12:04:59

标签: postgresql select timestamp where

我在Postgres中有以下查询:

SELECT * FROM users WHERE registration = last_login;

registration和last_login都是时间戳。我遇到的问题是这两个值写的有一些微小的差别,但它们并不准确。有没有什么方法可以比较这两个日期,比如1秒?

2 个答案:

答案 0 :(得分:5)

a_horse_with_no_name实际上已经回答了你的问题,但仅仅是因为没有保证一个日期是一个又一个,你可以尝试这样的事情:

SELECT *
FROM users
WHERE @extract(epoch from registration - last_login) <= 1;

extract(some_interval中的epoch)以秒为单位返回时间戳差异,以及@some_value返回数字的绝对值,就像abs(some_value)

答案 1 :(得分:0)

假设last_loginregistration之后总是,您可以检查两个时间戳之间的差异

select *
from users
where last_login - registration <= interval '1' second