Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle-Datumsformat

Es gibt nicht wirklich ein Standard-Datumsformat für das Produkt, das Referenzhandbuch gibt an, dass die Vorgabe für NLS_DATE_FORMAT auf Systemebene basiert auf NLS_TERRITORY . Obwohl dies sagt, der 'Standard' ist 'DD-MON-RR', und ich denke, das ist, was Sie bekommen, wenn Sie keinen Wert auf Datenbankebene angeben, zumindest auf den Plattformen, auf denen ich gearbeitet habe.

Wenn Sie eine neue Datenbank erstellen, können die Initialisierungsparameter einen bestimmten NLS_DATE_FORMAT enthalten , und das kann später auch geändert werden.

Aber das NLS_DATE_FORMAT auf Systemebene kann vom Client, der Sitzung oder in einem TO_CHAR überschrieben werden Anruf. Sie können in v$nls_parameters nachsehen um den Systemwert zu sehen, und nls_session_parameters um Ihren aktuellen Sitzungswert anzuzeigen. Sie können dies mit alter session ändern wenn Sie möchten.

Ich bin mir ziemlich sicher, dass Sie feststellen werden, dass PL/SQL Developer die Sitzung auf NLS_DATE_FORMAT setzt bis MM/DD/YYYY irgendwo in seinen Einstellungen.

Im Allgemeinen ist es besser, sich überhaupt nicht auf diesen Wert zu verlassen und immer eine explizite Formatmaske für die Anzeige zu verwenden, z. TO_CHAR(<column>, 'YYYY-MM-DD HH24:MI:SS') .

Es gibt mehr unter NLS_DATE_FORMAT im Globalisierungsleitfaden hier und hier ; und etwas über die Datumsanzeige hier ; und eine Übersicht über die Datumsformat-Modellelemente hier