15

我有一个包含 4 个日期的表:

CREATE TABLE dates (
    date date
);

    11-mar-2008
    25-now-2007
    18-apr-2012
    20-apr-2012

我需要一个返回所有三岁以上的日期的查询。那应该是前两个日期。

这对我不起作用:

SELECT * FROM dates WHERE date = now()::-1095;
4

1 回答 1

29
SELECT 
  * 
FROM 
  dates 
WHERE 
  date < now() - '3 years' :: interval;

此外,为您的列命名date不是一个好习惯,因为这是 PostgreSQL 中的保留字。

于 2012-04-21T12:01:51.540 回答