KAPITEL 10 Datumswerte und Zeitstempel - beim O'Reilly Verlag
KAPITEL 10 Datumswerte und Zeitstempel - beim O'Reilly Verlag
KAPITEL 10 Datumswerte und Zeitstempel - beim O'Reilly Verlag
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
der Datenbank als zur lokalen Zeitzone gehörig behandeln möchten, können Sie eine<br />
DATE-Spalte in eine Spalte des Typs TIMESTAMP WITH LOCAL TIME ZONE konvertieren.<br />
Dann werden die Datums- <strong>und</strong> Uhrzeitwerte der resultierenden Spalte automatisch<br />
zwischen der Zeitzone der Datenbank <strong>und</strong> der Zeitzone der Benutzersitzung konvertiert.<br />
Solche Konvertierungen sind vielleicht mehr Sache der Datenbankadministration als der<br />
Programmierung, aber darüber Bescheid wissen sollte man allemal.<br />
Die INTERVAL-Datentypen<br />
INTERVAL-Datentypen sind neu in Oracle9i. Um besser zu verstehen, was diese repräsentieren,<br />
sollten Sie zunächst ein wenig überlegen, mit welchen verschiedenen Arten<br />
von Datums- <strong>und</strong> Uhrzeitdaten wir es täglich zu tun haben:<br />
Zeitpunkte<br />
Ein Zeitpunkt (Instant) ist ein mit einer bestimmten Genauigkeit angegebener Punkt<br />
in der Zeit. Wenn wir zu einer bestimmten St<strong>und</strong>e geweckt werden möchten, stellt<br />
diese St<strong>und</strong>e einen Zeitpunkt dar. Die Genauigkeit wäre in diesem Fall eine St<strong>und</strong>e<br />
oder vielleicht auch eine Minute. DATE <strong>und</strong> alle TIMESTAMP-Datentypen ermöglichen<br />
die Darstellung von Zeitpunkten.<br />
Zeiträume<br />
Ein Zeitraum (Interval) ist kein bestimmter Zeitpunkt, sondern eine bestimmte Zeitmenge.<br />
Mit Zeiträumen gehen wir tagtäglich um. Wir arbeiten acht St<strong>und</strong>en (oder<br />
hoffen es zumindest), wir nehmen uns eine St<strong>und</strong>e Zeit zum Essen (davon träumen<br />
wir!) <strong>und</strong> so weiter. Die neuen INTERVAL-Typen von Oracle9i ermöglichen die<br />
Angabe solcher Zeiträume.<br />
Zeitdauer<br />
Mit Zeitdauer (Period) ist ein Zeitraum gemeint, der zu einem bestimmten Zeitpunkt<br />
anfängt <strong>und</strong> endet. Zum Beispiel: »Ich bin um acht Uhr aufgewacht <strong>und</strong> habe<br />
acht St<strong>und</strong>en gearbeitet.« Hier würde der Zeitraum, der um 8 Uhr morgens beginnt,<br />
als Zeitdauer betrachtet. Einen Datentyp für die Zeitdauer kennen weder Oracle<br />
noch ANSI/ISO.<br />
Die beiden mit Oracle9i eingeführten INTERVAL-Datentypen entsprechen dem<br />
ANSI/ISO-Standard:<br />
INTERVAL YEAR TO MONTH<br />
Ermöglicht die Definition eines Zeitraums in Jahren <strong>und</strong> Monaten.<br />
INTERVAL DAY TO SECOND<br />
Ermöglicht die Definition eines Zeitraums in Tagen, Minuten, Sek<strong>und</strong>en <strong>und</strong><br />
Sek<strong>und</strong>enbruchteilen.<br />
Datentypen für Datum <strong>und</strong> Uhrzeit | 279