web-dev-qa-db-ja.com

SQL Developerは、時刻ではなく日付けだけを返します。これをのように修正しますか?

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

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

同じquery/dbを実行している別のソフトウェアから得られるものは次のとおりです。

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

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

部分回答:

select TO_CHAR(creation_time,'DD-Mon-YYYY HH24:MI:SS') from 

全情報を表示するようにデフォルトを設定する方法を誰かが知っている場合は、以下に答えてください。

156
Xonatron

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

「ツール」>「設定」>「データベース」>「NLS」に移動して、「日付フォーマット」をMM/DD/YYYY HH24:MI:SSに設定します。

329
rizalp1

以下のクエリを使用して日付形式を設定することもできます。 -

sESSIONを変更します。NLS_DATE_FORMAT = 'date_format'

例えば:SESSIONを変更してくださいNLS_DATE_FORMAT = 'DD-MM-YYYY HH24:MI:SS'

29
Upendra Gughane

前述の回答のいくつかを詳しく説明すると、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"に設定することです。

18
trevorsky

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

DD-MON-RR HH:MI:SS

15
gigz

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

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; 
4
derek

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

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

* BEGIN文の後に追加

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

うまくいけば、これは誰かに役立ちます!

2
jcruz

私はこのようにして見つけました:

Oracle SQL Developer(左上のアイコン)>設定>データベース> NLSの順に選択し、日付フォーマットをMM/DD/YYYY HH24に設定します。MI:SS

enter image description here

0
apandey846