By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
438,373 Members | 1,984 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 438,373 IT Pros & Developers. It's quick & easy.

absolute value fro timestamps

P: n/a
Hello

Evidently is possible to have a negative time interval:

clapidus=> select interval '-1';
interval
-----------
-01:00:00

However, there seems to be no provision to get the absolute value in such
case:

clapidus=> select @ interval '-1';
ERROR: operator does not exist: @ interval
HINT: No operator matches the given name and argument type(s). You may need
to add explicit typecasts.

clapidus=> select abs(interval '-1');
ERROR: function abs(interval) does not exist
HINT: No function matches the given name and argument types. You may need
to add explicit typecasts.

What did I miss this time?

PGversion is 7.4b2

cl.
---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Nov 11 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
Claudio Lapidus wrote:
Hello

Evidently is possible to have a negative time interval:

clapidus=> select interval '-1';
interval
-----------
-01:00:00

However, there seems to be no provision to get the absolute value in such
case:

clapidus=> select @ interval '-1';
ERROR: operator does not exist: @ interval
HINT: No operator matches the given name and argument type(s). You may need
to add explicit typecasts.

clapidus=> select abs(interval '-1');
ERROR: function abs(interval) does not exist
HINT: No function matches the given name and argument types. You may need
to add explicit typecasts.

What did I miss this time?


Why would you want an abolute value of a negative interval?

This works:

test=> select -(interval '-1');
?column?
----------
01:00:00
(1 row)

so I suppose you could create a function or CASE statement to get the
absolute value.

--
Bruce Momjian | http://candle.pha.pa.us
pg***@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to ma*******@postgresql.org

Nov 11 '05 #2

P: n/a
"Claudio Lapidus" <cl******@hotmail.com> writes:
Bruce Momjian wrote:
Why would you want an abolute value of a negative interval?
Because I'm trying to match pairs of records that satisfy certain criteria,


Given that we have a unary-minus operator for intervals, I see no
conceptual objection to having an absolute-value operator (and \do shows
that interval is the only standard datatype that has the former but not
the latter).

However, given that it doesn't seem to be a really widely useful
operator, I think this is the kind of itch that you'll have to scratch
yourself. Send us a patch and it'll get into the next release ...

regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to ma*******@postgresql.org)

Nov 11 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.