Re: another problem with pgsql and interva/timestamp
От | Fernando Papa |
---|---|
Тема | Re: another problem with pgsql and interva/timestamp |
Дата | |
Msg-id | F1DC5B511E2D1C499E5E20FC6D74160D01D6D7E0@exch2000.buehuergo.corp.claxson.com обсуждение исходный текст |
Ответ на | another problem with pgsql and interva/timestamp ("Fernando Papa" <fpapa@claxson.com>) |
Список | pgsql-general |
Thanks again Tom... select now() + 33 * interval '1 day'; works perfect! -- Fernando O. Papa DBA > -----Mensaje original----- > De: Tom Lane [mailto:tgl@sss.pgh.pa.us] > Enviado el: viernes, 21 de marzo de 2003 16:31 > Para: Fernando Papa > CC: pgsql-general@postgresql.org > Asunto: Re: [GENERAL] another problem with pgsql and > interva/timestamp > > > "Fernando Papa" <fpapa@claxson.com> writes: > > Now, I'm trying to add a numer of days to a date. > > > If I do this: > > select now() + interval '2 day' > > Do you actually want a datetime result, or just a date? If > the desired result is a date, you'd find it a lot easier to > use the date-plus-integer operator: > > regression=# select current_date; > date > ------------ > 2003-03-21 > (1 row) > > regression=# select current_date + 4; > ?column? > ------------ > 2003-03-25 > (1 row) > > If you do really need sub-day resolution, then stick to > timestamp plus interval. > > > I get a datetime two days in the future, thats ok. I want > to do this, > > but I have these "2" into a variable inside pl/pgsql. > > If you've got a numeric variable, the easiest way to convert > it to an interval is to use the float-times-interval operator: > > regression=# select 33 * interval '1 day'; > ?column? > ---------- > 33 days > (1 row) > > regression=# select now() + 33 * interval '1 day'; > ?column? > ------------------------------- > 2003-04-23 15:29:12.592024-04 > (1 row) > > No need to fool with insertion of text into an interval literal ... > > regards, tom lane >
В списке pgsql-general по дате отправления: