Получение данных, которые больше или равны запросу Postgres SQL - PullRequest
1 голос
/ 19 марта 2020

Я пытаюсь написать запрос, который использует postgres. Мой запрос должен найти разницу между временем started_at и now(), а затем выбрать только те данные, для которых разница>> 300 секунд.

Вот что у меня есть

SELECT id, (extract(epoch from now()) - extract(epoch from started_at)) completed_time
FROM run_item WHERE started_at IS NOT NULL AND completed_at is NULL;

Ответы [ 2 ]

1 голос
/ 19 марта 2020

Вы пытались поместить это выражение в предложение where?

SELECT * FROM run_item WHERE
(EXTRACT(EPOCH FROM now()) - EXTRACT(EPOCH FROM started_at)) >= 300;
1 голос
/ 19 марта 2020

найти разницу между временем start_at и now (), а затем выбрать только те данные, для которых разница>> 300 секунд

Арифметику дат можно выполнить следующим образом:

select id, started_at - now() diff
from run_item r
where started_at <= now() - interval '5' minutes

В наборе результатов diff является столбцом типа данных интервала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...