Larry Rosenman <ler@lerctr.org> writes:
> where early >= '2001-01-01 00:00:00' and
> early <= '2001-01-02 05:59:59'
> BUT, I'm wondering if there is an easy way to generate the obvious
> where clauses automatically?
Assuming this is being fired from a cron job started at or just after
each interval, you could do something with date_trunc:
regression=# select now(); now
------------------------2001-06-02 10:12:37-04
(1 row)
regression=# select date_trunc('hour', now()); date_trunc
------------------------2001-06-02 10:00:00-04
(1 row)
regression=# select date_trunc('hour', now()) - '6 hours'::interval; ?column?
------------------------2001-06-02 04:00:00-04
(1 row)
Or, if you're running the script once a day at midnight, use
current_date (or equivalently date_trunc('day',...)) and subtract
appropriate intervals from that.
regards, tom lane