SELECT Table.date FROM Table WHERE date > current_date - 10;
Funktioniert das auf PostgreSQL?
Ja, dies funktioniert in PostgreSQL (vorausgesetzt, die Spalte " date " hat den Datentyp date
) Warum probieren Sie es nicht einfach aus?
Das Standard-ANSI-SQL-Format wäre:
SELECT Table.date
FROM Table
WHERE date > current_date - interval '10' day;
Ich bevorzuge dieses Format, da es die Lesbarkeit erleichtert (es ist jedoch dasselbe wie current_date - 10
).
http://www.postgresql.org/docs/current/static/functions-datetime.html zeigt Operatoren, mit denen Sie mit Datum und Uhrzeit (und Intervallen) arbeiten können.
Also du möchtest
SELECT "date"
FROM "Table"
WHERE "date" > (CURRENT_DATE - INTERVAL '10 days');
Die Operatoren/Funktionen oben sind ausführlich dokumentiert:
Nach meinem Test (und dem PostgreSQL dox ) verstehe ich die Anführungszeichen anders als die anderen Antworten und sollte auch "day" wie folgt enthalten:
SELECT Table.date
FROM Table
WHERE date > current_date - interval '10 day';
Hier demonstriert (Sie sollten dies auf jeder Postgres-Datenbank ausführen können):
SELECT DISTINCT current_date,
current_date - interval '10' day,
current_date - interval '10 days'
FROM pg_language;
Ergebnis:
2013-03-01 2013-03-01 00:00:00 2013-02-19 00:00:00
Ich würde Datentypen überprüfen.
current_date hat den Datentyp "date", 10 ist eine Zahl und Table.date - Sie müssen sich Ihre Tabelle ansehen.
sie können auch dazwischen verwenden:
SELECT Table.date
FROM Table
WHERE date between current_date and current_date - interval '10 day';