Datensätze mit Datum älter als 7 Tage

Hallo zusammen,

ich habe in einer Postgres-Tabelle ein Datumsfeld mit dem Typ “timestamp without time zone”. Ich möchte jetzt alle Datensätze ausgeben, die älter als 7 Tage sind und habe leider keine Ahnung, wie ich das machen soll.

Kann mir da jemand weiterhelfen? Bin für jede Antwort dankbar.

Viele Grüße und ein schönes Wochenende,

Hannes



test=# create table tage (id serial, tag date);
NOTICE:  CREATE TABLE will create implicit sequence "tage_id_seq" for serial column "tage.id"
CREATE TABLE
Zeit: 1,855 ms
test=*# insert into tage (id, tag) select s, current_date - s * '1 day'::interval from generate_Series(0,10) s;
INSERT 0 11
Zeit: 22,213 ms
test=*# select * from tage where tag > current_date - 7;
 id |    tag
----+------------
  0 | 2010-05-07
  1 | 2010-05-06
  2 | 2010-05-05
  3 | 2010-05-04
  4 | 2010-05-03
  5 | 2010-05-02
  6 | 2010-05-01
(7 Zeilen)

test=*# select * from tage where tag < current_date - 7;
 id |    tag
----+------------
  8 | 2010-04-29
  9 | 2010-04-28
 10 | 2010-04-27
(3 Zeilen)

Andreas

Hallo akretschmer,

wow, vielen Dank!! Ich hatte schon befüchtet, dass ich da jetzt groß mit DATEDIFF oder ähnlichem rumtun muss, aber das ist in postgres ja echt komfortabel!!

Vielen Dank für die schnelle und ausführliche Antwort - das war genau das, was ich gesucht hatte!!