不知道有没有人可以帮忙照看一下波斯特雷。我有一个表,其中有一个列称为 mydate,这是一个 postgres 日期类型。我想这样做:
mydate
SELECT * FROM MyTable WHERE mydate > [Today-1year]
我以前从来没有使用过 Postgres,我肯定我只是需要知道一些函数的名称-我会很高兴自己查找引用。有人能告诉我正确的方向吗?
谢谢!
我觉得这个可以:
SELECT * FROM MyTable WHERE mydate > now()::date - 365;
select * from mytable where mydate > now() - interval '1 year';
如果你只关心日期而不是时间,用 current_date代替 now()
current_date
now()
select * from mytable where mydate > current_date - interval '1 year';
这应该给你当前的日期减去1年:
select now() - interval '1 year';
您还可以使用 age()函数进行检查
age()
select * from mytable where age( mydate, now() ) > '1 year';
age()将返回一个间隔。
例如,age( '2015-09-22', now() )将返回 -1 years -7 days -10:56:18.274131
age( '2015-09-22', now() )
-1 years -7 days -10:56:18.274131
参见 Postgreql 文档