Réponses:
Oui, cela fonctionne dans PostgreSQL (en supposant que la colonne " date " est de type de données date
) Pourquoi ne pas l'essayer?
Le format SQL ANSI standard serait:
SELECT Table.date
FROM Table
WHERE date > current_date - interval '10' day;
Je préfère ce format car il rend les choses plus faciles à lire (mais c'est la même chose que current_date - 10
).
interval '10 day'
c'est la syntaxe Postgres. interval '10' day
est la syntaxe basée sur le standard SQL et également supportée par Postgres
10
, pas9
http://www.postgresql.org/docs/current/static/functions-datetime.html montre les opérateurs que vous pouvez utiliser pour travailler avec des dates et des heures (et des 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 dox de PostgreSQL ), les citations doivent être faites différemment des autres réponses et devraient également inclure "jour" comme ceci:
SELECT Table.date
FROM Table
WHERE date > current_date - interval '10 day';
Démontré 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 regarder votre table.
vous pouvez également utiliser entre:
SELECT Table.date
FROM Table
WHERE date between current_date and current_date - interval '10 day';
between
doit être avec la valeur la plus basse en premier, donc cela serait correctement fait comme SELECT Table.date FROM Table WHERE date between current_date - interval '10 day' and current_date;