Alter berechnen in SQL-Abfrage

Hallo Leute,

ich habe folgendes Problem:

Ich habe eine MySQL-Datenbank mit einer Tabelle wo Geburtstage gespeichert werden, das Feld der Tabelle ist ‘datetime’. Jetzt brauch ich aber bei einem Script nicht den genauen Geburtstag sondern das Alter des Benutzers. Besteht die Möglichkeit das Alter direkt in der SQL-Abfrage zu berechnen? Ich finde die Lösung mit explode() und mktime() sehr unschön…

Mit freundlichen Grüßen
Amityville

Moin,

MySQL stellt die Funktion DATE_FORMAT(Parameter) zur Verfügung. Ob das jetzt aber mit DATETIME funktioniert, weiss ich grad nicht, aber mit TIMESTAMP zumindest :wink:

Dann könnte man halt so etwas mit date() und DATE_FORMAT() basteln.

MfG
myPages

Hab ne Lösung gefunden =)

IF (DATE_FORMAT(CURDATE( ), '%m%d' ) >= DATE_FORMAT(user_birthday, '%m%d' ) , DATE_FORMAT(CURDATE( ) , '%Y' ) - DATE_FORMAT(user_birthday, '%Y' ) , DATE_FORMAT(CURDATE( ) , '%Y' ) - DATE_FORMAT(user_birthday, '%Y' ) -1) as user_birthday