Respuestas:
Sí, esto funciona en PostgreSQL (asumiendo que la columna " fecha " es de tipo de datos date) ¿Por qué no lo intentas?
El formato estándar ANSI SQL sería:
SELECT Table.date
FROM Table
WHERE date > current_date - interval '10' day;
Prefiero ese formato porque facilita la lectura (pero es lo mismo que current_date - 10).
interval '10 day'es la sintaxis de Postgres. interval '10' dayes la sintaxis basada en el estándar SQL y también es compatible con Postgres
10, no9
http://www.postgresql.org/docs/current/static/functions-datetime.html muestra los operadores que puede utilizar para trabajar con fechas y horas (e intervalos).
Entonces quieres
SELECT "date"
FROM "Table"
WHERE "date" > (CURRENT_DATE - INTERVAL '10 days');
Los operadores / funciones anteriores están documentados en detalle:
Mi entendimiento de mis pruebas (y el dox de PostgreSQL ) es que las citas deben hacerse de manera diferente a las otras respuestas, y también deben incluir "día" como este:
SELECT Table.date
FROM Table
WHERE date > current_date - interval '10 day';
Demostrado aquí (debería poder ejecutar esto en cualquier base de datos de Postgres):
SELECT DISTINCT current_date,
current_date - interval '10' day,
current_date - interval '10 days'
FROM pg_language;
Resultado:
2013-03-01 2013-03-01 00:00:00 2013-02-19 00:00:00
Verificaría tipos de datos.
current_date tiene el tipo de datos "date", 10 es un número y Table.date - necesitas mirar tu tabla.
también puedes usar entre:
SELECT Table.date
FROM Table
WHERE date between current_date and current_date - interval '10 day';
betweentiene que ser con el valor más bajo en primer lugar, por lo que este se llevaría a cabo correctamente como SELECT Table.date FROM Table WHERE date between current_date - interval '10 day' and current_date;