PostgreSQL,检查相对于“今天”的日期

时间:2010-10-13 22:32:41

标签: sql postgresql

想知道是否有人可以帮助一些Postgres。我有一个表有一个名为mydate的列,这是一个postgres日期类型。我想做点什么:

SELECT * FROM MyTable WHERE mydate > [Today-1year]

我之前从未使用过Postgres,我确信我只需要知道一些函数的名称 - 我很乐意自己查阅引用。有人能指出我正确的方向吗?

谢谢!

4 个答案:

答案 0 :(得分:125)

select * from mytable where mydate > now() - interval '1 year';

答案 1 :(得分:55)

我认为这样做会:

SELECT * FROM MyTable WHERE mydate > now()::date - 365;

答案 2 :(得分:8)

这应该给你当前日期减去1年:

select now() - interval '1 year';

答案 3 :(得分:3)

您还可以使用age()功能

进行检查

select * from mytable where age( mydate, now() ) > '1 year';

age()将返回一个间隔。

例如age( '2015-09-22', now() )将返回-1 years -7 days -10:56:18.274131

请参阅postgresql documentation