2012-04-17 47 views
1

我已经在DATE列中保存了日期。我试图得到那些行,自那个日期以来约一年,两年等更高。PostgreSQL - 如何从日期获取行高于

year,two years是来自我的应用程序的一个参数。有可能通过查询获取这些行,或者我应该在应用程序层上执行此操作?

回答

5
SELECT * 
FROM your_table 
WHERE the_date_column > current_date - interval '2' year 

只需将您的参数值替换为2即可。

+0

绝妙的主意,非常感谢! – user984621 2012-04-17 22:27:14

+0

+1不知道语法变体'interval'2'year'。我总是使用'​​间隔'2年'。那个人离我远远的[在手册中](http://www.postgresql.org/docs/current/interactive/datatype-datetime.html#DATATYPE-INTERVAL-INPUT)。 – 2012-04-17 23:02:24

+0

@ErwinBrandstetter:我从来没有使用过不同的人,并且对“2年”也有效感到惊讶;) – 2012-04-18 06:36:35