Подтвердить что ты не робот

Как добавить количество дней в postgresql datetime

У меня есть следующая таблица projects.

id title        created_at                     claim_window
1  Project One  2012-05-08 13:50:09.924437     5
2  Project Two  2012-06-01 13:50:09.924437     10

A) Я хочу найти крайний срок с расчетом deadline = created_at + claim_window(No. of days).

Что-то вроде следующего.

id title        created_at                     claim_window deadline
1  Project One  2012-05-08 13:50:09.924437     5            2012-05-13 13:50:09.924437
2  Project Two  2012-06-01 13:50:09.924437     10           2012-06-11 13:50:09.924437

B] Я также хочу найти проекты, срок которых ушел

id title        created_at                     claim_window deadline
1  Project One  2012-05-08 13:50:09.924437     5            2012-05-13 13:50:09.924437

Я пробую что-то вроде следующего.

SELECT * FROM "projects" WHERE (DATE_PART('day', now()- created_at) >= (claim_window+1))

Но по какой-то причине он не работает.

4b9b3361

Ответ 1

Это даст вам срок:

select id,  
       title,
       created_at + interval '1' day * claim_window as deadline
from projects

Чтобы получить все проекты, срок выполнения которых закончился, используйте:

select *
from (
  select id, 
         created_at + interval '1' day * claim_window as deadline
  from projects
) t
where localtimestamp at time zone 'UTC' > deadline