Answers:
是的,这在PostgreSQL中确实有效(假设“ date ” 列的数据类型为date
),为什么不尝试一下呢?
标准ANSI SQL格式为:
SELECT Table.date
FROM Table
WHERE date > current_date - interval '10' day;
我更喜欢这种格式,因为它使内容更易于阅读(但与相同current_date - 10
)。
interval '10 day'
是Postgres语法。interval '10' day
是基于SQL标准的语法,Postgres也支持该语法
10
,而不使用9
http://www.postgresql.org/docs/current/static/functions-datetime.html显示了可用于处理日期和时间(和间隔)的运算符。
所以你要
SELECT "date"
FROM "Table"
WHERE "date" > (CURRENT_DATE - INTERVAL '10 days');
上面的运算符/功能已详细记录:
通过测试(和PostgreSQL dox),我的理解是引号需要与其他答案不同,并且还应包括“ day”,如下所示:
SELECT Table.date
FROM Table
WHERE date > current_date - interval '10 day';
这里展示(您应该可以在任何Postgres db上运行它):
SELECT DISTINCT current_date,
current_date - interval '10' day,
current_date - interval '10 days'
FROM pg_language;
结果:
2013-03-01 2013-03-01 00:00:00 2013-02-19 00:00:00
我会检查数据类型。
current_date具有“日期”数据类型,10是数字,而Table.date-您需要查看表。