decode
関数の結果には、3番目のパラメーターのデータ型があります。最初のケースでは、NULL
にデータ型が指定されていないため 、デフォルトのVARCHAR2が使用されます。 2番目のケースでは、DATEが明示的に要求されるため、結果は日付になります。
つまり、最初のクエリは次のクエリと同じです。
SELECT DECODE(SYSDATE, SYSDATE + 1, to_char(NULL), to_char(SYSDATE)) FROM DUAL;
このクエリの出力は、NLS_DATE_FORMAT
に従ってフォーマットされます。 セッションパラメータ。2番目のクエリはクライアントの設定に従って表示される日付を返します。