El Lun 22 Mar 2004 09:50, escribió: > > Intervals are stored as two components. One is absolute time difference, > and the other is in months. '1 year' is equivalent to '12 months'. > The documentation on how they work in corner cases (when added or > subtracted from timestamp(tz)) is sparse. It isn't documented whether the > part in months or the absolute time is added first or what timezone is used > (for > timestamptz) when adding the months part. > The basic idea is that months are added by looking at the timestamp > as date and time and adding the appropiate number of months to the date > and then converting back to a timestamp. It isn't documented what happens > when the day of the month is past the end of the new month, but it looks > like the last day of new month is used. > If you convert an interval to an absolute time (such as by extracting the > epoch), then months are converted to 30 days. Again, I don't think this > is documented.
Any thoughts on how this could affect date manipulation? mydb=> select '29/2/2004'::date + ((2005 - date_part('year', now())::int) || 'years')::interval; ?column? --------------------- 2005-02-28 00:00:00 AFAIKS with other dates this works OK. :-) -- 10:11:02 up 13 days, 14:42, 4 users, load average: 0.17, 0.12, 0.16 ----------------------------------------------------------------- Martín Marqués | select 'mmarques' || '@' || 'unl.edu.ar' Centro de Telematica | DBA, Programador, Administrador Universidad Nacional del Litoral ----------------------------------------------------------------- ---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives? http://archives.postgresql.org