2011-05-06 140 views
8

如何从现在开始的30天内获取日期的时间戳?PostgreSQL:将来的时间戳

我尝试了像now()+ integer'30'之类的东西...但它不起作用。

我在帮助Postgres 8.

任何想法?

+1

PostrgreSQL 8? 8.0? 8.4? – Charles 2011-05-06 16:12:44

回答

17

尝试这样:

SELECT NOW() + '30 days'::interval 
+2

FWIW,'interval '30 days''的语法也可以使用[从8.0开始](http://www.postgresql.org/docs/8.0/static/functions-datetime.html)。 – Charles 2011-05-06 16:18:17

+1

是......而对于9.1现在()+'30天'也可以,我还没有检查过早期版本。 – 2011-05-06 16:29:37

+0

谢谢!有用! – paoloP 2011-05-09 07:38:52

5

标准的SQL表达式是在号码

select current_timestamp + interval '30' day 

行情,绕不语。请参阅the earliest SQL standard我可以在线查找,第91页。PostgreSQL比标准更灵活,这可能是好事或坏事。我支持很多不同的dbms--灵活性让我更加痛苦,而不是帮助它。例如,PostgreSQL支持这种非标准语句。

select current_timestamp + interval '1 month, 2 days, 3 hours, 2 minutes';