Re: Absolute value of intervals - Mailing list pgsql-general

From Jasen Betts
Subject Re: Absolute value of intervals
Date
Msg-id hcmgdh$55l$4@reversiblemaps.ath.cx
Whole thread Raw
In response to Absolute value of intervals  (Joshua Berry <yoberi@gmail.com>)
Responses Re: Absolute value of intervals  (Alvaro Herrera <alvherre@commandprompt.com>)
List pgsql-general
On 2009-11-01, Lew <noone@lwsc.ehost-services.com> wrote:
> Tom Lane wrote:
>> Sam Mason <sam@samason.me.uk> writes:
>>> On Tue, Oct 27, 2009 at 11:27:17AM -0300, Joshua Berry wrote:
>>>> I couldn't find the operator '@' for intervals
>>
>>> A simple SQL implementation would look like:
>>
>>>   CREATE FUNCTION absinterval(interval) RETURNS interval
>>>     IMMUTABLE LANGUAGE sql AS 'SELECT greatest($1,-$1)';
>>>   CREATE OPERATOR @ ( PROCEDURE = absinterval, RIGHTARG = interval );
>>
>>> or is a C version really needed?
>>
>> I think this came up again recently and somebody pointed out that the
>> correct definition isn't as obvious as all that.  The components of
>> an interval can have different signs, so should abs('-1 day 1 hour') be
>> '1 day -1 hour' or '1 day 1 hour'?  Or what about corner cases like
>> '1 day -25 hours'?
>
> I'm writing this at about 8:35 p.m. New York time on October 31, 2009.  From
> now, adding interval '1 day -25 hours' yields right now, New York time.
>

This year halloween is the longest night.  Interesting.


pgsql-general by date:

Previous
From: Jasen Betts
Date:
Subject: Re: Absolute value of intervals
Next
From: Harald Fuchs
Date:
Subject: Re: cidr data type question