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. -- Mark D Powell -- -----Original Message----- From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Mercadante, Thomas F (LABOR) Sent: Thursday, April 13, 2006 10:42 AM To: Rich.Jesse@xxxxxx; oracle-l@xxxxxxxxxxxxx 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@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Jesse, Rich Sent: Thursday, April 13, 2006 9:52 AM To: oracle-l@xxxxxxxxxxxxx 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 -- //www.freelists.org/webpage/oracle-l -- //www.freelists.org/webpage/oracle-l