Deutsches Datum zum Speichern für MySQL formatieren

Möchte man ein deutsch formatiertes Datum: DD.MM.YYYY in eine MySQL-Tabelle mit dem Spaltentyp DATE speichern, so muss es vorher in das US-Format: YYYY-MM-DD umgewandelt werden.

Eine umständliche Möglichkeit wäre, den Datum-String über die PHP-Funktion explode() zu zerlegen und anschließend in der gewünschten Reihenfolge wieder zusammenzusetzen.

Deutlich einfacher und eleganter funktioniert es direkt in der MySQL-Query:

INSERT INTO `tabelle` SET `datum-englisch`=STR_TO_DATE(`datum-deutsch`,"%d.%m.%Y");

2 Gedanken zu „Deutsches Datum zum Speichern für MySQL formatieren

  1. C.F.

    Ich habe folgendes Problem bei MySQL:

    Es wird eine software-generierte CSV Datei mit deutschen Datumsangaben geladen (Bsp: „2019-03-14T00:00:00+01:00“).
    Dieses wird durch MySQL in einem Feld mit Format=DATE oder DATETIME in folgendem (falschen Format) umgewandelt: „20-03-2014“.
    Gibt es eine einfache Möglichkeit in MySQL (ohne PHP) diese Umwandlung anzupassen, sodass ein korrektes Datum „14.03.2019“ ausgegeben wird ? Die Zeitangabe(THH:MM:SS+HH:MM) kann vernachlässigt werden, da sie immer 0 ist und nicht weiter verwendet wird.

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.