0

postgres 関数を使用して日付範囲を確認する方法がわかりません。私がやりたいのは、日付が特定の範囲内にあるかどうかを確認することです(開始日の1週間前の余裕を持って)

基本的に、日付が の間にあるかどうかを確認したいのですが、7 days before to current dateそうであれば、その行の ID を返します。

create or replace function eight(_day date) returns text as $$
declare
  r record;
  check alias for $1;
  startDate date;
begin
    for r in
    select * from terms
    order by starting;
  loop
    startDate := r.starting;
    if check between (..need help to create 7 days before startDate) and startDate return r.id;


end;
$$ language plpgsql;

前のレコードの終了日が startDate - 7days と衝突するかどうかも確認する必要があります。前の記録を確認するにはどうすればよいですか?

4

2 に答える 2

1

intervalを使用したいようです:

startDate - interval '...'

あなたは宿題をしているので、これ以上は言いません。

于 2012-04-21T05:42:13.640 に答える
0

日付は整数演算で機能します。

startdate - 8 は (startdate::timestamp - '8 days'::interval)::date と同等です

于 2012-10-15T02:34:34.327 に答える