Today working with dates in Oracle, perform a subtraction of date with the following query:
SELECT TO_DATE(SYSDATE, 'DD/MM/YYYY') AS HOY,
TO_DATE(T.FECHAEVAL, 'DD/MM/YYYY') AS FECHA,
TO_DATE(SYSDATE, 'DD/MM/YYYY') - TO_DATE(T.FECHAEVAL, 'DD/MM/YYYY') AS RESTA
FROM HP_TRANSACT_RES_EVAL_HIPO t
WHERE T.FECHAEVAL IS NOT NULL
Which I throw the following results:
As you can see the subtraction gives me negative results, of course they are not expected, making tests I made the following query:
SELECT TO_DATE(SYSDATE, 'DD/MM/YYYY') AS HOY,
TO_DATE(T.FECHAEVAL, 'DD/MM/YYYY') AS FECHA,
TO_DATE(SYSDATE) - TO_DATE(T.FECHAEVAL, 'DD/MM/YYYY') AS RESTA
FROM HP_TRANSACT_RES_EVAL_HIPO t
WHERE T.FECHAEVAL IS NOT NULL
Which I throw the following results:
These are the expected results. Here my question what is the difference between doing the subtraction in the following way TO_DATE(SYSDATE, 'DD/MM/YYYY') - TO_DATE(T.FECHAEVAL, 'DD/MM/YYYY')
the way I throw the correct results TO_DATE(SYSDATE) - TO_DATE(T.FECHAEVAL, 'DD/MM/YYYY')
?
As a note, the field T.FECHAEVAL
is VARCHAR2
.