次の表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))
_
しかし、何らかの理由で機能していません。
これはあなたに締め切りを与えます:
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
私にとっては、間隔の値だけでなく、間隔全体を単一引用符で囲む必要がありました。
select id,
title,
created_at + interval '1 day' * claim_window as deadline from projects
の代わりに
select id,
title,
created_at + interval '1' day * claim_window as deadline from projects