Mit MySQL das Alter berechnen – Teil 1

Mit MySQL kann man bekanntlich die tollsten Sachen erledigen (lassen) und so kann man auch mit einem kleinen SQL-Befehls-Konglomerat das Alter (einer Person) berechnen lassen.

Dazu benötigt man die folgenden Funktionen:

FLOOR()

Rundet den übergebenen numerischen Wert, z.B. einen Float, auf den nächst niedrigen Integer Wert ab.

PERIOD_DIFF()

Gibt die Monate zwischen zwei Datumseingaben zurück. Übergeben werden dürfen nur Kombinationen aus Jahr und Monat. D.h. JJMM und JJJJMM.

EXTRACT()

Die Funktion extrahiert Teile eines Date(Time)-Typs, z.B. Tag und Monat von 1982-12-24.

Nun kommt der eigentliche Teil, nämlich das Kombinieren zu einer Funktion.

SELECT FLOOR(PERIOD_DIFF(EXTRACT(YEAR_MONTH FROM NOW()), EXTRACT(YEAR_MONTH FROM '1982-12-24')) / 12);

Die Funktion liest also mit EXTRACT() den aktuellen Monat und den aktuellen Tag aus, extrahiert außerdem vom gegebenem Datum das selbe. Anschließend berechnet sie mit PERIOD_DIFF() die Differenz der beiden Daten und teilt alles durch 12 Monate. Anschließend wird noch mit FLOOR() auf den nächsten Integer-Wert abgerundet. Wer’s ein bisschen genauer mag, dem empfehle ich die oben verlinkten Seiten der MySQL-Dokumentation. Viel Spaß! :-)

Morgen präsentiere ich dann den 2. Teil und dabei wird’s auch mal wieder mystisch. Es kann nämlich zu merkwürdigen Problemen kommen… :-)

War dieser Artikel hilfreich für Sie?
[Gesamt: 0 Durchschnitt: 0]

One thought on “Mit MySQL das Alter berechnen – Teil 1

  1. […] ein paar Tagen habe ich einen Eintrag geschrieben, wie man mit MySQL das Alter berechnen kann. Nun möchte ich noch mal ein paar Hinweise geben, wie man verhindern kann, dass man […]

Schreibe einen Kommentar

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