Blar

Just another WordPress.com weblog

Archiv für März 2007

Alter in MySQL berechnen

mit einem Kommentar

Als erstes wird eine Tabelle für die Benutzer erstellt. Hier im Beispiel benutzen ich nur die 3 Spalten id, nick für den Benutzernamen und birthday für das Geburtsdatum.

CREATE TABLE accounts(
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
nick VARCHAR(32) NOT NULL,
birthday DATE NULL,
UNIQUE(nick)
);

Um den Benutzernamen und das Alter aller Benutzer auf der Tabelle „accounts“ auszulesen wird dann folgender Query benutzt:

SELECT
nick,
YEAR(NOW()) - YEAR(birthday) - IF(DATE_FORMAT('%m-%d', NOW()) > DATE_FORMAT('%m-%d', birthday), 0, 1) AS age
FROM
accounts

Es wird dann folgendes (für meine Benutzer „foo“ und „bar“) Ausgegeben:

nick birthday age
foo 1980-05-01 26
bar 1984-04-04 22

Geschrieben von Blar

5. März 2007 um 00:36

Veröffentlicht in MySQL, PHP