el decode
resultado de la función tiene el tipo de datos del tercer parámetro. En el primer caso, dado que no se especifica ningún tipo de datos para NULL
, se utiliza el VARCHAR2 predeterminado. En el segundo caso, se pide explícitamente una FECHA y por lo tanto el resultado es una fecha.
En otras palabras, la primera consulta es lo mismo que:
SELECT DECODE(SYSDATE, SYSDATE + 1, to_char(NULL), to_char(SYSDATE)) FROM DUAL;
El resultado de esta consulta se formateará según su NLS_DATE_FORMAT
parámetro de sesión, mientras que la segunda consulta devolverá una fecha que se mostrará de acuerdo con la configuración de su cliente.