SELECT Table.date FROM Table WHERE date > current_date - 10;
Est-ce que cela fonctionne sur PostgreSQL?
Oui, cela fonctionne dans PostgreSQL (en supposant que la colonne " date " est du type de données date
) Pourquoi ne pas simplement l'essayer?
Le format ANSI SQL standard serait:
SELECT Table.date
FROM Table
WHERE date > current_date - interval '10' day;
Je préfère ce format car cela facilite la lecture (mais c'est le même que current_date - 10
).
http://www.postgresql.org/docs/current/static/functions-datetime.html indique les opérateurs que vous pouvez utiliser pour travailler avec les dates et les heures (et les intervalles).
Alors tu veux
SELECT "date"
FROM "Table"
WHERE "date" > (CURRENT_DATE - INTERVAL '10 days');
Les opérateurs/fonctions ci-dessus sont documentés en détail:
D'après mes tests (et le PostgreSQL dox ), il est nécessaire de faire les guillemets différemment des autres réponses et d'inclure également "jour" comme ceci:
SELECT Table.date
FROM Table
WHERE date > current_date - interval '10 day';
Démonstré ici (vous devriez pouvoir l'exécuter sur n'importe quelle base de données Postgres):
SELECT DISTINCT current_date,
current_date - interval '10' day,
current_date - interval '10 days'
FROM pg_language;
Résultat:
2013-03-01 2013-03-01 00:00:00 2013-02-19 00:00:00
Je vérifierais les types de données.
current_date a le type de données "date", 10 est un nombre et Table.date - vous devez consulter votre table.
vous pouvez aussi utiliser entre:
SELECT Table.date
FROM Table
WHERE date between current_date and current_date - interval '10 day';