MySQL - Datum in Monaten ausgeben

Dragosius

Erfahrenes Mitglied
Hallo zusammen,

ich habe das Registrierungsdatum bei mir in der Datenbank so gespeichert:
1532155920963.png

Nun möchte ich gerne vom aktuellen Tag ausgehend immer die Anzahl Monate (abgerundet) dazwischen ausgeben.

Kann mir hier jemand weiterhelfen?

Vielen Dank
 
Du brauchst die DATEDIFF-Funktion. Diese liefert Dir die Anzahl der Tage als Differenz zurück. Das musst Du dann nuroch in Monate umrechnen und runden.
SQL:
SELECT 
round((DATEDIFF(curdate(), registration)/30))
FROM ….
 
Zuletzt bearbeitet:
Danke, das sieht ja super aus.

Nur eine Frage hätte ich da noch:
Angenommen, das Datum ist 2 Jahre in der Vergangenheit, dann ergeben sich hier doch immer größere Abweichungen da du immer von 30 aus gehst, oder?
 
Richtig. Ich gehe von im Durchschnitt 30 Tagen im Monat aus. Bei mehreren Jahren Differenz kann es da zu Ungenauigkeiten kommen. Um das zu vermeiden müsstest Du ggf noch ein paar IF-Bedingungen einbauen und dann genauere Werte für die Division liefern.
 
Zurück