Andre: String in ein richtiges Datum-Format konvertieren

Hallo,

ich habe beim Erstellen einer MySql Datenbank versäumt statt varchar(100) ein Date-Feld zu erzeugen. Nun habe ich leider schon einige Datensätze angelegt und bemerke erste jetzt, dass das Sortieren dieser Spalte keine vernünftigen Ergebnisse erzielt.

Meine Frage an Euch: Gibt es eine einfache Möglichkeit das besagte Feld in ein gültiges Date-Feld umzuwandeln, ohne alle Datensätze neu eingeben zu müssen.

Bis jetzt habe ich das Datum immer als String in diesem Format eingestellt: 05.10.2004 -> als Tag.Monat.Jahr

Ich _meine_ gelesen zu haben, dass MySql falschen Datumsangaben automatisch in 0 umwandelt, bzw. als 0 in die Datenbank schreibt. Kann ich also das bestehende varchar() nicht ohne Datenverlust in date umstellen?

Ich hoffe ihr könnt mir ein paar nützliche Hinweise geben, wie ich das Ganze mit ein wenig PHP korrigieren kann.

Mit freundlichen Grüßen,
Andre

  1. Hallo Andre!

    Bis jetzt habe ich das Datum immer als String in diesem Format eingestellt: 05.10.2004 -> als Tag.Monat.Jahr

    Du kannst einfach mal alle auslesen, und im Format YYYY-mm-dd zurückschreiben und dann ein Datumsfeld daraus machen.
    Dieses Format kann MySQL eigentlich, nur wie sich MySQL beim Konvertieren verhält weiß ich auch nicht.

    MfG
    Götz

    --
    Losung für Dienstag, 5. Oktober 2004
    Groß sind die Werke des Herrn; wer sie erforscht, der hat Freude daran. (Psalm 111,2)
    Das Wort Gottes breitete sich aus und die Zahl der Jünger wurde sehr groß in Jerusalem. (Apostelgeschichte 6,7)
    (http://www.losungen.de/heute.php3)
    1. Hallo Götz,

      Du kannst einfach mal alle auslesen, und im Format YYYY-mm-dd zurückschreiben und dann ein Datumsfeld daraus machen.

      vielen Dank für deine Antwort - habs jetzt genau so gemacht wie du gesagt hast und siehe da, es hat geklappt.

      Dieses Format kann MySQL eigentlich, nur wie sich MySQL beim Konvertieren verhält weiß ich auch nicht.

      Sooo risikobereit war ich dann allerdings auch nicht, habs in eine neue Spalte geschrieben. :-)

      Vielen Dank für deine Hilfe.

      Grüße, Andre