Search Postgresql Archives

Re: Absolute value of intervals

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Tom Lane wrote:
Sam Mason <sam@xxxxxxxxxxxxx> 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

--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux