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