| From: | Lew <noone(at)lwsc(dot)ehost-services(dot)com> |
|---|---|
| To: | pgsql-general(at)postgresql(dot)org |
| Subject: | Re: Absolute value of intervals |
| Date: | 2009-11-01 00:35:04 |
| Message-ID: | hcil3o$o2q$1@news.albasani.net |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
Tom Lane wrote:
> Sam Mason <sam(at)samason(dot)me(dot)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.
--
Lew
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Lew | 2009-11-01 00:37:19 | Re: Absolute value of intervals |
| Previous Message | Thomas Kellerer | 2009-10-31 23:32:03 | Re: sudoku in an sql statement |