decode
резултатът от функцията има тип данни на третия параметър. В първия случай, тъй като не е указан тип данни за NULL
, се използва VARCHAR2 по подразбиране. Във втория случай изрично се иска ДАТА и следователно резултатът е дата.
С други думи, първата заявка е същата като:
SELECT DECODE(SYSDATE, SYSDATE + 1, to_char(NULL), to_char(SYSDATE)) FROM DUAL;
Резултатът от тази заявка ще бъде форматиран според вашия NLS_DATE_FORMAT
параметър на сесията, докато втората заявка ще върне дата, която ще бъде показана според настройките на вашия клиент.