Mailinglisten-Archive |
Hallo Jan, die Geburtstage um ein gegebenes Datum zu ermitteln ist nicht trivial, das Query dazu ist knapp 1000 Byte gross. Das Feld 'geb' ist allerdings vom Typ Date, da von den meisten Leuten die Uhrzeit der Geburt nicht bekannt ist. Du kannst jetzt Dein Feld mit ALTER TABLE anpassen, oder das Query umschreiben ... viel Spass ... ;-) m. b. G. Norbert _____________________ normal: 02292-681769 Notruf: 0177-2363368 --------------------- Anhang: # ------------- nur fuer den aktuellen Tag: SELECT vnam, geb, YEAR(NOW()) - YEAR(geb) AS Jahre FROM persons WHERE MONTH(geb) = MONTH(NOW()) AND DAYOFMONTH(geb) = DAYOFMONTH(NOW()) ORDER BY Jahre, vnam; # ------------- fuer die naechsten X Tage: SELECT vnam, geb, IF(DATE_ADD(geb, INTERVAL (YEAR(NOW()) - YEAR(geb)) YEAR) < CURDATE(), DATE_ADD(geb, INTERVAL (YEAR(NOW()) - YEAR(geb) + 1) YEAR), DATE_ADD(geb, INTERVAL (YEAR(NOW()) - YEAR(geb)) YEAR) ) AS akut, IF(DATE_ADD(geb, INTERVAL (YEAR(NOW()) - YEAR(geb)) YEAR) < CURDATE(), (YEAR(NOW()) - YEAR(geb) + 1), (YEAR(NOW()) - YEAR(geb)) ) AS Jahre FROM persons WHERE IF(DATE_ADD(geb, INTERVAL (YEAR(NOW()) - YEAR(geb)) YEAR) < CURDATE(), DATE_ADD(geb, INTERVAL (YEAR(NOW()) - YEAR(geb) + 1) YEAR), DATE_ADD(geb, INTERVAL (YEAR(NOW()) - YEAR(geb)) YEAR) ) >= CURDATE() AND IF(DATE_ADD(geb, INTERVAL (YEAR(NOW()) - YEAR(geb)) YEAR) < CURDATE(), DATE_ADD(geb, INTERVAL (YEAR(NOW()) - YEAR(geb) + 1) YEAR), DATE_ADD(geb, INTERVAL (YEAR(NOW()) - YEAR(geb)) YEAR) ) <= DATE_ADD(CURDATE(), INTERVAL (33) DAY) ORDER BY akut, vnam; # ------------- e.o.m. -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive