197

結果ウィンドウとエクスポート時の両方で、SQL Develoeprが私に与えているものは次のとおりです。

CREATION_TIME       
------------------- 
27-SEP-12
27-SEP-12
27-SEP-12

同じクエリ/データベースを実行している別のソフトウェアが提供するものは次のとおりです。

CREATION_TIME       
------------------- 
2012-09-27 14:44:46 
2012-09-27 14:44:27 
2012-09-27 14:43:53 

SQL Developerに時間を返させるにはどうすればよいですか?

4

8 に答える 8

417

これを試すことができますか?

[ツール] > [設定] > [データベース] > [NLS] に移動し、日付形式を MM/DD/YYYY HH24:MI:SS に設定します。

于 2012-09-27T19:13:09.970 に答える
24

以前の回答のいくつかを拡張すると、Oracle DATE オブジェクトは Oracle TIMESTAMP オブジェクトとは異なる動作をすることがわかりました。特に、NLS_DATE_FORMAT に小数秒を含めるように設定すると、時間部分全体が省略されます。

  • 「YYYY-MM-DD HH24:MI:SS」の形式は、DATE および TIMESTAMP に対して期待どおりに機能します。
  • 形式 "YYYY-MM-DD HH24:MI:SSXFF" は DATE の日付部分のみを表示し、TIMESTAMP では期待どおりに機能します

私の個人的な好みは、DATE を「YYYY-MM-DD HH24:MI:SS」に設定し、TIMESTAMP を「YYYY-MM-DD HH24:MI:SSXFF」に設定することです。

于 2016-01-21T21:09:07.590 に答える
16

[ツール] > [設定] > [データベース] > [NLS パラメータ] から、日付形式を次のように設定します。

DD-MON-RR HH:MI:SS

于 2013-09-30T12:50:31.267 に答える
5

これにより、時間、分、秒が取得されます。ちょっとプレスト。

select
  to_char(CREATION_TIME,'RRRR') year, 
  to_char(CREATION_TIME,'MM') MONTH, 
  to_char(CREATION_TIME,'DD') DAY, 
  to_char(CREATION_TIME,'HH:MM:SS') TIME,
  sum(bytes) Bytes 
from 
  v$datafile 
group by 
  to_char(CREATION_TIME,'RRRR'), 
  to_char(CREATION_TIME,'MM'), 
  to_char(CREATION_TIME,'DD'), 
  to_char(CREATION_TIME,'HH:MM:SS') 
 ORDER BY 1, 2; 
于 2012-09-27T19:26:54.737 に答える
3

Preferences NLS 構成オプションや ALTER ステートメントではなく、これらの回答はどちらも私にとってはうまくいきません。これが私の場合に機能した唯一のアプローチでした:

dbms_session.set_nls('nls_date_format','''DD-MM-YYYY HH24:MI:SS''');

*BEGINステートメントの後に追加

PL/SQL Developer v9.03.1641 を使用しています

うまくいけば、これは誰かに役立つでしょう!

于 2017-06-21T18:57:50.913 に答える