388 MySQL - Technische Referenz f¨ur Version 5.0.1-alpha
• Wenn Sie einem DATETIME- oder TIMESTAMP-Objekt einen DATE-Wert zuweisen, wird
der Zeitanteil im Ergebniswert auf ’00:00:00’ gesetzt, weil der DATE-Wert keine Zeit-
informationen enth¨alt.
• Wenn Sie einem DATE-Objekt einen DATETIME- oder TIMESTAMP-Wert zuweisen, wird
der Zeitanteil des Ergebniswerts gel¨oscht, weil der DATE-Typ keine Zeitinformationen
speichert.
• Denken Sie daran, dass DATETIME-, DATE- und TIMESTAMP-Werte zwar in denselb en For-
maten angegeben werden k¨onnen, dass die Typen jedoch nicht alle denselben Werte-
bereich haben. TIMESTAMP-Werte zum Beispiel k¨onnen nicht fr¨uher als 1970 oder sp¨ater
als 2037 sein. Das bedeutet, dass ein Datum wie ’1968-01-01’, was als DATETIME oder
DATE-Wert zul¨assig w¨are, kein g¨ultiger TIMESTAMP-Wert ist und in 0 umgewandelt wird,
wenn er einem solchen Objekt zugewiesen wird.
Seien Sie auf der Hut vor Fallstricken, wenn Sie Datumswerte angeben:
• Das entspannte Format l¨aßt Werte als Zeichenketten zu, die t¨auschen k¨onnen. Ein Wert
wie ’10:11:12’ zum Beispiel sieht wegen des ‘:’-Begrenzers wie ein Zeitwert aus, wird
er aber in einem Datums-Zusammenhang benutzt, wird er als das Datum ’2010-11-
12’ interpretiert. Der Wert ’10:45:15’ wird in ’0000-00-00’ umgewandelt, weil
’45’ kein zul¨assiger Monat ist.
• Jahreswerte, die als zwei Ziffern angegeben werden, sind mehrdeutig, weil das Jahrhun-
dert unbekannt ist. unknown. MySQL interpretiert 2-stellige Jahreswerte nach folgen-
den Regeln:
− Jahreswerte im Bereich 00 bis 69 werden in 2000 bis 2069 umgewandelt.
− Jahreswerte im Bereich 70 bis 99 werden in 1970 bis 1999 umgewandelt.
7.2.2.3 Der TIME-Typ
MySQL ruft TIME-Werte ab und zeigt sie an im ’HH:MM:SS’-Format (oder ’HHH:MM:SS’-
Format f¨ur große Stundenwerte). TIME-Werte rangieren von ’-838:59:59’ bis
’838:59:59’. Der Grund daf¨ur, dass der Stundenanteil so Groß sein kann, liegt darin,
dass der TIME-Typ nicht nur benutzt werden kann, um die Tageszeit zu repr¨asentieren
(wobei die Stunden weniger als 24 sein m¨ussen), sondern auch a/jointfilesconvert/293675/bgelaufene Zeit oder ein
Zeitintervall zwischen zwei Ereignissen (was viel gr¨oßer als 24 Stunden oder sogar negativ
sein kann).
Sie k¨onnen TIME-Werte in einer Vielzahl von Formaten angeben:
• Als eine Zeichenkette im ’D HH:MM:SS.bruchteil’-Format. (Beachten Sie, dass
MySQL bislang nicht den Bruchteil f¨ur die TIME-Spalte speichert.) Man kann auch
folgende “entspannte” Syntax benutzen:
HH:MM:SS.bruchteil, HH:MM:SS, HH:MM, D HH:MM:SS, D HH:MM, D HH oder SS. Hierbei
ist D Tage zwischen 0 und 33.
• Als eine Zeichenkette ohne Begrenzer im ’HHMMSS’-Format, vorausgesetzt, dass diese
als Zeitangabe einen Sinn ergibt. ’101112’ zum Beispiel wird als ’10:11:12’ inter-
pretiert, aber ’109712’ ist unzul¨assig (es hat einen Minutenanteil, der keinen Sinn
ergibt) und wird in ’00:00:00’ umgewandelt.
Kommentare zu diesen Handbüchern