Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: I was told there would be no (date) math
Time travel may not yet be fully supported but you can do this:
tfd2 > select to_date(sysdate - 10) - sysdate from dual;
TO_DATE(SYSDATE-10)-SYSDATE
-10.448299
And this
1* select trunc(sysdate) - 10 - trunc(sysdate) from dual
tfd2 > /
TRUNC(SYSDATE)-10-TRUNC(SYSDATE)
-10
So the negative should not be a problem. This looks like an internal datatype conversion problem.
-----Original Message-----
From: oracle-l-bounce_at_freelists.org
[mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Mercadante, Thomas F
(LABOR)
Sent: Thursday, April 13, 2006 10:42 AM
To: Rich.Jesse_at_qg.com; oracle-l_at_freelists.org
Subject: RE: I was told there would be no (date) math
Rich,
Well, logically, the first query returns a negative date.
Time travel is not permitted in Larry-Land - not until he can find a way to charge for it.
The second one returns todays date.
Tom
-----Original Message-----
From: oracle-l-bounce_at_freelists.org
[mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Jesse, Rich
Sent: Thursday, April 13, 2006 9:52 AM
To: oracle-l_at_freelists.org
Subject: I was told there would be no (date) math
Hey all,
While debugging an analytical function issue using 9.2.0.5, I run this idiotic query:
SELECT TRUNC(SYSDATE) - TRUNC(SYSDATE) - TRUNC(SYSDATE) FROM DUAL; And it errors out with:
ORA-00932: inconsistent datatypes: expected DATE got DATE
(In 10.2, the verbage is modified to "expected JULIAN DATE got DATE")
Add parenthesis and it works:
SELECT TRUNC(SYSDATE) - (TRUNC(SYSDATE) - TRUNC(SYSDATE)) FROM DUAL; I've been looking through the docs and Metalink, but I'm unable to answer "Why?". Anyone?
TIA!
Rich
-- http://www.freelists.org/webpage/oracle-l -- http://www.freelists.org/webpage/oracle-lReceived on Thu Apr 13 2006 - 10:34:45 CDT