Vinzenz Mai: In welchem Format Datum abspeichern?

Beitrag lesen

Hallo,

ich bekomme aus ASCII-Dateien kilometerlang Daten, die ich in MySQL schreibe. Unter anderem auch zu jedem DS ein Datum in der Form MM/TT/JJJJ hh:mm:ss (z.B. 11/05/2008 16:54:23). Meine Frage: Forme ich das vor dem Insert in irgendetwas anderes um,

das ist sinnvoll. Und zwar am allerbesten in einen der Datums-/Zeitdatentypen, den Dein Datenbankmanagementsystem unterstützt.

macht das MySQL selbst

Nein.

(bin mit den Datum-Zeit-Funktionen nicht so richtig warm geworden),

Du kannst mit diversen Konvertierungsfunktionen eine Umformung vornehmen lassen. So böte sich im Fall von UNIX-Timestamps die Konvertierung per FROM_UNIXTIME an.

oder speichere ich das einfach als String ab und forme das hinterher mit php um?

Nein, sowas ist grausam. Noch schlimmer als das Speichern von UNIX-Timestamps, was schon schlimm genug ist.

Letztes fällt eigentlich aus, da ich über das Datum Abfragen laufen lassen will (a la SELECT XY WHERE DATE < bla AND DATE > blubb)

BETWEEN ... AND ist ein eleganter Operator :-)

Nochmals: Die mit riesigem Abstand sinnvollste Methode, Datumsangaben in einer Datenbank abzuspeichern ist die Verwendung des dafür vorgesehenen Datentyps - bei MySQL kämen somit DATETIME und DATE in Frage (wenn man den Zauber von TIMESTAMP nicht benötigt). Danach kommt eine halbe Ewigkeit lang nichts.

Freundliche Grüße

Vinzenz