0

日付を返す関数があります(実際のタイムスタンプ、日付+時間)。表では「2010-09-05 17:33:00」のようになっています。次のようなSQLスクリプトから関数を呼び出すと、

select my_package.my_function('2010-09-05') 
  from dual.

結果に時間がかかります。

しかし、テストウィンドウで同じことを実行すると、時刻ではなく日付のみが表示されます。

これはどうやってできるの?

4

3 に答える 3

4

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;
于 2012-11-27T10:17:25.597 に答える
2

テストウィンドウとはどういう意味ですか?

SQL+ を意味する場合は、フォーマットが適用されます。これは次のように変更できます。

alter session set nls_date_format='DD/MM/YYYY HH24:MI:SS';

これは、SQL+ セッションの開始時に行います。

于 2012-11-27T10:19:19.293 に答える