And there is no type "13" listed, either. One could ASSuME that 13 and 14 are dates, given that type 12 is, and Metalink article 69028.1 mentions "External datatype 13 is an internal c-structure whose length varies depending on how the c-compiler represents the structure.", but that's all I could find.
Thanks all for the clarification on this. There seemed to be some undocumented features at work here that was making me curious.
Rich
-- --Original Message-- -- From: Ken Naim [mailto:kennaim@(protected)] Sent: Thursday, April 13, 2006 12:03 PM To: Jesse, Rich; oracle-l@(protected) Subject: RE: I was told there would be no (date) math
When you subtract two dates you get a number and sql follows order of operations so it goes from left to right.
Trunc(sysdate)- Trunc(sysdate) - Trunc(sysdate) becomes 1- trunc(sysdate) which throws the error as you cannot subtract a date from a number
With the parenthesis the way you have it you start with TRUNC(SYSDATE) - (TRUNC(SYSDATE) - TRUNC(SYSDATE)) which becomes TRUNC(SYSDATE) - 1 which is fine.
If you would switch the parenthesis to (TRUNC(SYSDATE) - TRUNC(SYSDATE)) - TRUNC(SYSDATE) you would get the same error as it would become 1- trunc(sysdate)
Ken Naim
-- --Original Message-- -- From: oracle-l-bounce@(protected) [mailto:oracle-l-bounce@(protected)] On Behalf Of Jesse, Rich Sent: Thursday, April 13, 2006 8:52 AM To: oracle-l@(protected) 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;