SQL Developer gibt nur das Datum und nicht die Uhrzeit zurück. Wie behebe ich das?

167

Folgendes gibt mir SQL Develoepr, sowohl im Ergebnisfenster als auch beim Exportieren:

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

Folgendes bietet eine andere Software, auf der dieselbe Abfrage / Datenbank ausgeführt wird:

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

Wie bringe ich SQL Developer dazu, auch die Zeit zurückzugeben?

Teilantwort:

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

Wenn jemand weiß, wie die Standardeinstellung so eingestellt wird, dass alle Informationen angezeigt werden, antworten Sie bitte unten.

Xonatron
quelle

Antworten:

363

Kannst du das versuchen?

Gehen Sie zu Extras> Einstellungen> Datenbank> NLS und stellen Sie das Datumsformat auf MM / TT / JJJJ HH24: MI: SS ein

rizalp1
quelle
8
In der deutschen Version: Extra> Vorstehende> Datenbank> NLS
Olivier Faucheux
9
WOW ... das war wunderschön. Ich kann nicht glauben, dass ich die Konvertierung in der selectErklärung durchgeführt habe.
Leniel Maccaferri
15
'Nicht logische Einstellung' :-)
weltweit
3
Nein! Es steht für National Language Support. Es wird verwendet, um nationale Einstellungen für Datum, Nummer, Währung und Sprache zu definieren.
user2441441
2
Hinweis: Ich musste mich erneut mit der Datenbank verbinden, damit diese Einstellung wirksam wurde
Spume
35

Das Datumsformat kann auch mithilfe der folgenden Abfrage festgelegt werden: -

alter SESSION set NLS_DATE_FORMAT = 'date_format'

Beispiel: alter SESSION set NLS_DATE_FORMAT = 'TT-MM-JJJJ HH24: MI: SS'

Upendra Gughane
quelle
21

Um einige der vorherigen Antworten zu erweitern, stellte ich fest, dass sich Oracle DATE-Objekte anders verhalten als Oracle TIMESTAMP-Objekte. Insbesondere wenn Sie NLS_DATE_FORMAT so einstellen, dass es Sekundenbruchteile enthält, wird der gesamte Zeitabschnitt weggelassen.

  • Das Format "JJJJ-MM-TT HH24: MI: SS" funktioniert erwartungsgemäß für DATE und TIMESTAMP
  • Das Format "JJJJ-MM-TT HH24: MI: SSXFF" zeigt nur den Datumsbereich für DATE an und funktioniert wie erwartet für TIMESTAMP

Meine persönliche Präferenz ist es, DATE auf "JJJJ-MM-TT HH24: MI: SS" und TIMESTAMP auf "JJJJ-MM-TT HH24: MI: SSXFF" zu setzen.

trevorsky
quelle
Danke, das hat mir wirklich geholfen - ich habe gerade das Format vom Zeitstempel kopiert und konnte nicht verstehen, warum es nicht funktioniert hat.
fleeblewidget
Gibt es einen Grund (außer Standards) für die Verwendung im YYYY-MM-DD HH24:MI:SSVergleich zu DD-MM-YYYY HH24:MI:SS?
Nathan geht
Ich habe das Jahr immer an erster Stelle gesetzt, um Verwirrung zu vermeiden. In den USA ist die typische Sequenz MM-TT-JJJJ. An anderer Stelle ist es TT-MM-JJJJ. Das Problem ist, dass man sie für Tage zwischen 1 und 12 nicht unterscheiden kann. Deshalb habe ich immer das Jahr an die erste Stelle gesetzt. Und ich bin noch nie auf etwas gestoßen, das das Jahr an die erste Stelle setzt, ohne dann auch mit Monat und Tag zu folgen. Es sortiert auch sauber als Schnur, was ein praktischer Nebeneffekt ist.
trevorsky
16

Klicken Sie unter Extras> Einstellungen> Datenbank> NLS-Parameter auf Datumsformat als

DD-MON-RR HH: MI: SS

Gigz
quelle
4

Dadurch erhalten Sie die Stunden, Minuten und Sekunden. Hey Presto.

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; 
Derek
quelle
3

Keine dieser Antworten würde für mich funktionieren, nicht die NLS-Konfigurationsoption für Einstellungen oder die ALTER-Anweisung. Dies war der einzige Ansatz, der in meinem Fall funktioniert hat:

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

* nach der BEGIN-Anweisung hinzugefügt

Ich verwende PL / SQL Developer v9.03.1641

Hoffentlich hilft das jemandem!

jcruz
quelle
-1

Nun, ich habe diesen Weg gefunden:

Oracle SQL Developer (Symbol oben links)> Einstellungen> Datenbank> NLS und legen Sie das Datumsformat als MM / TT / JJJJ HH24: MI: SS fest

Geben Sie hier die Bildbeschreibung ein

Abhishek
quelle