Как выбрать в запросе временной диапазон 1 час? - PullRequest
0 голосов
/ 28 октября 2019

Как выбрать в запросе диапазон времени 1 час?

SQL

select * from 
  history 
where
  clock == current_timestamp - interval '01:00:00'::timestamp;

ДАННЫЕ С ФУНКЦИЕЙ to_timestamp

28689   2019-10-26 21:02:09 83.6353
28689   2019-10-26 21:01:39 83.6614
28689   2019-10-26 21:01:09 82.9015
28689   2019-10-26 21:00:39 82.9039

OUTPUT

Неверный синтаксис ввода

Желаемый вывод - выбор, где столбец clock являетсяотметка времени находится в пределах одного часа от введенных значений.

1 Ответ

1 голос
/ 28 октября 2019

Вы можете попробовать извлечь компонент часа из столбца clock и текущей метки времени, а затем сравнить разницу между этими двумя значениями.

select *
from history 
where
    abs(extract(hour from clock) - extract(hour from current_timestamp)) <= 1;

Если вместо этого вам нужны все записи за последний часзатем попробуйте:

select *
from history
where extract(epoch from current_timestamp - clock) / 3600 <= 1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...