日付を返す関数があります(実際のタイムスタンプ、日付+時間)。表では「2010-09-05 17:33:00」のようになっています。次のようなSQLスクリプトから関数を呼び出すと、
select my_package.my_function('2010-09-05')
from dual.
結果に時間がかかります。
しかし、テストウィンドウで同じことを実行すると、時刻ではなく日付のみが表示されます。
これはどうやってできるの?
NLS_DATE_FORMAT 設定の効果が見られます。必要に応じて設定します。例えば:
alter session set NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss";
select my_package.my_function('2010-09-05') from dual;
出力を正しく表示します。
または TO_CHAR 出力。
select to_char(my_package.my_function('2010-09-05'), 'yyyy-mm-dd hh24:mi:ss') from dual;
テストウィンドウとはどういう意味ですか?
SQL+ を意味する場合は、フォーマットが適用されます。これは次のように変更できます。
alter session set nls_date_format='DD/MM/YYYY HH24:MI:SS';
これは、SQL+ セッションの開始時に行います。