Re: Adding seconds to a time - Mailing list pgsql-novice

From Lew
Subject Re: Adding seconds to a time
Date
Msg-id i6ucb0$nha$1@news.albasani.net
Whole thread Raw
In response to Re: Adding seconds to a time  ("Jean-Yves F. Barbier" <12ukwn@gmail.com>)
Responses Re: Adding seconds to a time  ("Jean-Yves F. Barbier" <12ukwn@gmail.com>)
List pgsql-novice
(Top-posting corrected.)

Rob Richardson wrote:
>> And, of course, as soon as I post the question I find the answer,
>> through a more intelligent search:
>>
>> Multiply the number by a standard interval:
>>      select N * '1 second'::interval

Jean-Yves F. Barbier wrote:
 > Be careful though, there might be a '+1x' shift:
 > SELECT now();                       =>  2010-09-15 15:39:02.838245+02
 > see:
 > SELECT now() + '1 month'::interval; =>  2010-10-15 15:39:27.518034+02
 >
 > I guess that is an SQL rule, but it is not "legally" correct, when you
 > calculate a contract termination date for example (which should be
 > 2010-10-14.)

Of course it's legally correct.  One month after September 15 is October 15 by
anyone's definition.

The contract termination issue is not due to miscalculation of "plus one
month" but to mistaken inclusion of the +1 month date within the contract
period.  The contract needs to be understood as "from date X through but not
including X + '1 month'::interval'".  The date X + '1 month'::interval still
is what it is, e.g., October 15 in your example.

--
Lew

pgsql-novice by date:

Previous
From: Richard Broersma
Date:
Subject: Re: Unable to use VIEWS (Ok button remains shaded)
Next
From: Salil Wadnerkar
Date:
Subject: Re: transaction is read-only error