如何用最近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';