2011-05-06 167 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';