create function add_days_to_timestamp(t timestamptz, d int)
returns timestamptz
as
$$
begin
return t + interval '1' day * d;
end;
$$ language 'plpgsql';
create operator + (leftarg = timestamptz, rightarg = int,
procedure = add_days_to_timestamp);
Nun würde diese Arbeit:
update foo set time = current_timestamp + 3 /* day variable here,
or a column from your table */
Hinweis:
aus irgendeinem Grund, das Hinzufügen eine ganze Zahl bisher eingebaut ist in Postgres, das funktionieren würde:
würde dies nicht (es sei denn Sie Ihren eigenen Operator definieren, siehe oben):
select current_timestamp + 3
Ich habe vergessen zu erwähnen, dass "Tage" eine Spalte in der gleichen Tabelle ist, nicht konstant. – egaga