Wie kann ich in Oracle SQL Developer ein benutzerdefiniertes Datums- und Uhrzeitformat festlegen?

198

Standardmäßig zeigt der Oracle SQL-Entwickler Datumswerte als an 15-NOV-11. Ich möchte standardmäßig den Zeitteil (Stunde / Minute / Sekunde) sehen.

Gibt es eine Möglichkeit, dies in Oracle SQL Developer zu konfigurieren?

Angenehm betäubt
quelle
Ich habe vorher große Probleme damit. Ich kann es für eine Sitzung korrigieren, aber sobald ich SQL Developer schließe und es dann erneut starte, verliere ich die Einstellung. Diese Lösung, die ich anbieten kann, ist also nicht dauerhaft.
Brett Walker
Können Sie eine Antwort hinzufügen? @BrettWalker, es ist besser als nichts.
ComfortablyNumb
5
Was für ein lächerlicher Standard für einen Datentyp namens "DATE", der tatsächlich die Genauigkeit auf die Sekunde speichert. Dies muss viel Zeit verschwendet haben.
WW.

Antworten:

398

Sie können dies in den Einstellungen ändern:

  1. Gehen Sie im Menü von Oracle SQL Developer zu: Extras > Einstellungen .
  2. Vom Einstellungen - Dialog, wählen Sie Datenbank > NLS aus dem linken Bereich.
  3. Geben Sie aus der Liste der NLS-Parameter DD-MON-RR HH24:MI:SSin das Feld Datumsformat ein.
  4. Speichern und schließen Sie den Dialog, fertig!

Hier ist ein Screenshot:

Ändern der Einstellungen für das Datumsformat in Oracle SQL Developer

ousoo
quelle
1
Ich verwende SQLDeveloper unter Linux und diese Einstellung funktioniert bei mir nicht.
Filipe
3
Egal welches Format ich dort platziere, es wird ignoriert. Ich sehe, dass dies in der SQL generiert wird: to_date ('02 -OCT-14 ',' JJJJ-MM-TT '), also ist meine SQL jetzt einfach kaputt.
James Watkins
Dieses Format hat bei mir nicht funktioniert, möglicherweise aufgrund von Unterschieden im Gebietsschema der Plattform ... siehe meine Antwort, wenn dieses nicht funktioniert
Donatello
2
Wo ist diese Einstellung gespeichert? in der DB oder SQL Developer?
Toolkit
44

Ich bin auf diesen Beitrag gestoßen, als ich versucht habe, das Anzeigeformat für Daten in SQL-Developer zu ändern. Ich wollte nur hinzufügen, was ich herausgefunden habe:

  • Um das Standardanzeigeformat zu ändern, würde ich die von ousoo bereitgestellten Schritte verwenden, dh Extras> Einstellungen> ...
  • Aber oft möchte ich nur DEFAULT_FORMAT beibehalten, während ich das Format nur während einer Reihe verwandter Abfragen ändere. Dann würde ich das Format der Sitzung wie folgt ändern:

    alter SESSION set NLS_DATE_FORMAT = 'my_required_date_format'

Z.B:

   alter SESSION set NLS_DATE_FORMAT = 'DD-MM-YYYY HH24:MI:SS' 
Hipsandy
quelle
26

Mit Oracle SQL Developer 3.2.20.09 konnte ich das benutzerdefinierte Format für den Typ DATE folgendermaßen festlegen:

In: Extras> Einstellungen> Datenbank> NLS

Oder: Outils> Préférences> Base de donées> NLS

JJJJ-MM-TT HH24: MI: SS

Screenshot des Einstellungsmenüs

Beachten Sie, dass das folgende Format bei mir nicht funktioniert hat:

DD-MON-RR HH24: MI: SS

Infolgedessen wird das Standardformat ohne Fehler beibehalten.

Donatello
quelle
3

Für alle, die noch ein Problem damit haben; Ich habe diese Seite zufällig von Google gefunden ...

Setzen Sie es so ein (NLS-Parameter) ... es bleibt für mich in SQLDeveloper v3.0.04:

DD-MON-YY HH12:MI:SS AM or for 24-Hour, DD-MON-YY HH24:MI:SS 
Jay Dorsey
quelle
Es ist wichtig zu beachten, dass das Token im AM-Format für das 24-Stunden-Format entfernt wird. Wenn sowohl die Token 'AM' als auch 'HH24' verwendet werden, überschreibt der 'AM' den 'HH24'.
Ara
2

In meinem Fall war das in Einstellungen / Datenbank / NLS festgelegte Format [Datumsformat] = RRRR-MM-DD HH24: MI: SSXFF, aber im Raster wurden 8 wahrscheinlich Standardformate RRRR / MM / DD (auch ohne Zeit) angezeigt. Das Format hat geändert nach Änderung der Einstellung [Datumsformat] auf: RRRR-MM-DD HH24: MI: SS (ohne 'XFF' am Ende).

Es gab keine Fehler, aber das Format mit xff am Ende funktionierte nicht.

Hinweis: In polnischer Notation bedeutet RRRR JJJJ

Kapuśniak
quelle
2
TL; DR: ohne 'XFF' am Ende
Robert Andrzejuk
In Oracle hat ein Datum KEINEN Sekundenbruchteil. Ein Zeitstempel tut es. Oracle versucht also, hilfreich zu sein, indem Sie nicht angeben, was nicht funktioniert.
Roy Latham
0

Als ich das Datumsformat für den Zeitstempel kopierte und das für das Datum verwendete, funktionierte es nicht. Aber das Ändern des Datumsformats in dieses Format (TT-MON-JJ HH12: MI: SS AM) hat bei mir funktioniert.

Die Änderung muss unter Extras-> Einstellungen-> Suche nach NLS vorgenommen werden

Sharan Rajendran
quelle
0

Gehen Sie zu Extras> Einstellungen. Wählen Sie in der Baumstruktur Datenbank> NLS. Es stehen drei Datums- / Zeitformate zur Verfügung: Datum, Zeitstempel und Zeitstempel TZ. Durch Bearbeiten des Datumsformats wird der gewünschte Effekt erzielt.

Wie ich oben gesagt habe; Dieser Ansatz hat mich nicht dauerhaft verändert.

Brett Walker
quelle
jsyk, Ihr Profilbild erinnert mich an don corleone (falscher Ort für einen solchen Kommentar)
Jonathan dos Santos
0

SQL Developer Version 4.1.0.19

Schritt 1: Gehen Sie zu Extras -> Einstellungen

Schritt 2: Wählen Sie Datenbank -> NLS

Schritt 3: Gehen Sie zum Datumsformat und geben Sie DD-MON-RR HH24: MI: SS ein

Schritt 4: Klicken Sie auf OK.

Ashutosh Chopde
quelle
-1

Ich habe ein verwandtes Problem, das ich gelöst habe, und wollte die Leute über meine Lösung informieren. Mit SQL Developer habe ich von einer Datenbank nach CSV exportiert und dann versucht, sie in eine andere Datenbank zu importieren. Ich habe immer wieder einen Fehler in meinen Datumsfeldern erhalten. Meine Datumsfelder hatten das Zeitstempelformat:

28-JAN-11 03.25.11.000000000 PM

Die obige Lösung (Ändern der NLS-Einstellungen) hat beim Importieren nicht funktioniert, aber ich habe endlich Folgendes zum Laufen gebracht:

Im Bildschirm Spaltendefinition des Importassistenten habe ich " DD-MON-RR HH.MI.SSXFF AM" in das Feld "Format" eingegeben und es wurde schließlich erfolgreich importiert. Leider habe ich Dutzende von Datumsfeldern und meines Wissens gibt es keine Möglichkeit, dieses Format systematisch auf alle Datumsfelder anzuwenden, so dass ich es manuell machen musste ... seufz. Wenn jemand einen besseren Weg kennt, würde ich mich freuen, ihn zu hören!

alexR1
quelle