2011-05-06 7 views
8

Bundan 30 gün sonra nasıl bir zaman damgası alabilirim?PostgreSQL: Gelecekte zaman damgası

Şimdi() + tamsayı '30' gibi şeyler denedim ... ama işe yaramadı.

Ben Postgres 8.

Herhangi bir fikir koşuyorum? Böyle

+1

PostrgreSQL 8? 8.0? 8.4? – Charles

cevap

17

deneyin şey: Standart SQL ifadesi değil ifade etrafında,

select current_timestamp + interval '30' day 

alıntılar sayı dönünce

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

FWIW, '30 gün' aralığı 'sözdizimi' de çalışır [8.0 olarak] (http://www.postgresql.org/docs/8.0/static/functions-datetime.html). – Charles

+1

Evet ve 9.1 'şimdi() + '30 gün 'için de çalışıyor, daha önceki sürümleri kontrol etmedim. –

+0

Teşekkürler! İşe yarıyor! – paoloP

5

. Bkz. the earliest SQL standard Çevrimiçiyiz, p 91. PostgreSQL standardından çok daha esnektir, bu iyi bir şey veya kötü bir şey olabilir. Birçok farklı dbms'i destekliyorum - esneklik bana yardımcı olduğundan daha sık acıyor. PostgreSQL, örneğin, bu standart dışı ifadeyi desteklemektedir.

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