Auge: Zeit Format H:i:s in die DB

Beitrag lesen

Hallo

Hmm. Das würde also heissen, das es bei der TIMESTAMP bleibt.
Aber wie kann ich dann nur die Stunden/Minuten/Sekunden auslesen lassen?

Ein Timestamp enthaelt Informationen, die einen absoluten Zeitpunkt beschreiben, das heisst eine Uhrzeit an einem bestimmten Datum.

Das macht ein Datum in Kombination mit einer Uhrzeit auch nur. :-)

Wenn Du nur eine Zeit speichern willst, dann ist Timestamp das Falsche.

Wieso? Der SQL-Timestamp (!=UNIX-Timestamp) gäbe z.B. für dein Posting den Wert 20080826134000 (Sekunden unbekannt, daher mit 00 angenommen) aus. Damit sind sowohl das Datum als auch die Uhrzeit direkt erreichbar. Eine Angabe mit DATETIME ist allerdings mMn umgänglicher[1].

Man sollte Daten in einer Datenbank immer in dem verlustfreiesten Format speichern, also dem für die DB optimalen.

Ich weiss nicht genau, was Tom Dir (oder mir?) damit sagen wollte.

Vermutlich, dass DATETIME vorzuziehen ist, wenn auch das Datum im Datensatz gespeichert wird (ist ja nicht so unwahrscheinlich[2]) und somit eine Trennung in ein DATE- und ein TIME-Feld im Vergleich zu DATETIME unsinnig ist. Der Hinweis auf die Datums- und Zeitfunktionen bedeutet wohl, dass man auch aus einer Angabe im DATETIME-Format die Uhrzeit mit den Mitteln von SQL extrahieren kann.

[1] Das bezieht sich auf die Lesbarkeit durch Menschen. Dem Computer hat sowas egal zu sein, jawollja!

[2] Und genau das ist im Einsatzfall abzuwägen. Wenn habbohighs[3] sowieso schon ein Datum in den Datensätzen hat, sollte er auf DATETIME umstellen. Gibt es kein e Notwendigkeit für eine Datumsangabe, reicht natürlich auch ein Feld vom Typ TIME.

[3] Meine Fresse, such er sich einen leichter schreibbaren Namen! ;-)

Tschö, Auge

--
Die deutschen Interessen werden am Liechtenstein verteidigt.
Veranstaltungsdatenbank Vdb 0.2