Skip to content

Zeitstempel in Datenbanken (Oracle)

Zu meinem Job als Software Architekt gehört es an Guidelines für die Implementierung von Software Systemen mitzuarbeiten. Ganz konkret habe ich mich etwas in das Thema Datum/Zeit Speicherung in Datenbanksystemen gestürzt. Aus dem Grund kann ich hier etwas über die Datum/Zeit Repräsentation in Oracle DB 10g Release 1 (und natürlich älteren Modellen) berichten. Gerade im Zusammenspiel mit Zugriffen via JDBC sind hier einige Dinge zu beachten. Beim Design unserer Software achten wir auf die TCO. Das klingt zwar wie ein Buzz-Word, macht aber durchaus Sinn: das System soll möglichst wenig Anforderungen an die Konfiguration der Datenbank stellen (damit diese für unterschiedliche Anwendungen genutzt werden kann). Ebenso soll es möglichst unempfindlich gegen Konfigurationsänderungen und Variationen sein (gerade im Bereich Zeit/Datum können Probleme mit unterschiedlichen Datums-Formaten oder Sprachen auftreten.)

Oracle Datum/Zeit Datentypen

Prinzipiell unterstützt Oracle den SQL Datentyp "DATE", erweitert um Zeitinformationen, bis hin zur Sekunde. Der Typ hat keine Möglichkeit der Speicherung von Schaltsekunden. Er belegt 7 bytes, wobei Jahrhundert, Jahr, Monat, Tag, Stunde, Minute und Sekunde in getrennten Feldern gespeichert werden. Es werden keine zusätzlichen Zeitzonen-Informationen gespeichert und der Wertebereich reicht von v.Chr 4712-12-31 00:00 bis 9999-12-31 23:59:59.

Continue reading "Zeitstempel in Datenbanken (Oracle)"