如何用最近10天的date列出logging?
SELECT Table.date FROM Table WHERE date > current_date - 10;
这是否适用于PostgreSQL?
是的,这在PostgreSQL中起作用(假定列“ date ”是数据typesdate
)为什么不试试呢?
标准的ANSI SQL格式是:
SELECT Table.date FROM Table WHERE date > current_date - interval '10' day;
我更喜欢这种格式,因为它使读起来更容易(但它与current_date – 1相同)
http://www.postgresql.org/docs/current/static/functions-datetime.html显示可用于处理date和时间(和时间间隔)的运算符。;
所以你要
SELECT "date" FROM "Table" WHERE "date" > (CURRENT_DATE - INTERVAL '10 days');
上面的操作符/函数详细logging:
- 当前date
- INTERVAL '10 days'
从我的testing(和PostgreSQL的dox )我的理解是,报价需要做不同于其他答案,也应该包括这样的“日”:
SELECT Table.date FROM Table WHERE date > current_date - interval '10 day';
在这里演示(你应该可以在任何Postgres数据库上运行):
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
我会检查数据types。
current_date有“date”数据types,10是一个数字,Table.date – 你需要看你的表。
你也可以使用:
SELECT Table.date FROM Table WHERE date between current_date and current_date - interval '10 day';