I'm trying to understand this function:
NVL2( NULL, ( SYSDATE - SYSDATE ), DATE '2020-05-24' ))
And its returned value:
NVL2(NULL,(SYSDATE-SYSDATE),DATE '2020-05-24'))
2458994
I'm having trouble understanding where that number, 2458994, comes from, as SYSDATE-SYSDATE is a NUMBER, and you cannot implicity convert a DATE to a NUMBER:
TO_NUMBER(DATE '2020-05-24')
ORA-01722: invalid number
The ORACLE SQL Language Reference NVL2 states:
If expr2 is numeric data, then Oracle Database determines which argument has the highest numeric precedence, implicitly converts the other argument to that data type, and returns that data type.
So my question is, what form of conversion is ORACLE SQL using on the DATE datatype to make it a NUMBER datatype?