Donnerstag, 21. Januar 2010

Zeitstempel für Oracle-Sitzungen auf das ISO-Format setzen

Oracle konvertiert bei jeder Ausgabe von Zeit- oder Datumsinformationen die Daten in das Format, das der Client benötigt. Man kann die Parameter der aktuellen Sitzung mittels des folgenden Befehls abfragen:
SELECT * from NLS_SESSION_PARAMETERS;
Für die Verarbeitung von Zeit- und Datumsangaben in Programmen empfiehlt es sich das numerische ISO-Format zu verwenden. Die Standardeinstellungen sind aber lokalisiert, wodurch das Datum in der üblichen deutschen Notation erscheint. Für Berichte ist das eine sinnvolle Einstellung. Für die maschinelle Verarbeitung aber unpraktisch. Mittels des Befehls
ALTER SESSION
können jedoch alle Parameter für die aktuelle Sitzung angepasst werden. Wenn sekundengenaue Zeiten ausreichen, kann eine sinnvolle Parametrisierung folgendermaßen aussehen:
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD';
ALTER SESSION SET NLS_TIME_FORMAT = 'HH24:MI:SS';
ALTER SESSION SET NLS_TIME_TZ_FORMAT = 'HH24:MI:SS TZH:TZM';
ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
ALTER SESSION SET NLS_TIMESTAMP_TZ_FORMAT = 'YYYY-MM-DD HH24:MI:SS TZH:TZM';

Keine Kommentare: