decode
hasil fungsi memiliki tipe data dari parameter ketiga. Dalam kasus pertama, karena tidak ada tipe data yang ditentukan untuk NULL
, VARCHAR2 default digunakan. Dalam kasus kedua, DATE secara eksplisit diminta dan oleh karena itu hasilnya adalah tanggal.
Dengan kata lain, query pertama sama dengan:
SELECT DECODE(SYSDATE, SYSDATE + 1, to_char(NULL), to_char(SYSDATE)) FROM DUAL;
Output dari kueri ini akan diformat sesuai NLS_DATE_FORMAT
Anda parameter sesi, sedangkan kueri kedua akan mengembalikan tanggal yang akan ditampilkan sesuai dengan pengaturan klien Anda.