hallo!
ich habe eine datenbank mit namen und geburtsdatum (gebdat).
nun möchte ich in meiner abfrage für die jeweils aktuelle woche alle geburtstagskinder ausgeben lassen und ich krieg die abfrage einfach nicht hin. kann mir da wer helfen?
danke im voraus
joachim
Was hast du bis jetzt probiert? date_time-function-erklaerung auf mysql.com wird dir weiterhelfen.
Rocco
SELECT * FROM personen WHERE MONTH(gebdat) = MONTH(NOW) AND DAY(gebdat) = DAY(NOW)+7
klappt nicht
SELECT * FROM personen WHERE MONTH(gebdat) = 1
klappt, es werden alle jänner geborenen ausgegeben aber sobald ich DAY(gebat) = 5 anhänge, kommt ein fehler
joachim
mrhappiness
16-01-2004, 08:27
nachdem ich die fehlermeldung nicht kenne, tippe ich einfach mal darauf, dass es an deiner mysql-version liegt.
die funktion DAY() gibt es erst ab 4.1.1, vorher musst du DAYOFMONTH() verwenden
wäre es nicht einfacher, mit WEEK() (http://www.mysql.com/doc/de/Date_and_time_functions.html) zu arbeiten, anstatt mit monat und tag rumzuhampeln?
in etwa so:
WHERE WEEK(gebdat) = WEEK(NOW())
An und für sich nicht schlecht die Idee ... nur leider liegt nicht jeder Tag es Monats jedes Jahr in der gleichen Woche ... :teach:
@Goth: klar, hast recht. dummer denkfehler :-/
Original geschrieben von wahsaga
wäre es nicht einfacher, mit WEEK() (http://www.mysql.com/doc/de/Date_and_time_functions.html) zu arbeiten, anstatt mit monat und tag rumzuhampeln?
in etwa so:
WHERE WEEK(gebdat) = WEEK(NOW())
schade, wenigstens krieg ich jetzt eine ausgabe und keine fehlermeldung!
wie könnte ich dieses problem nur umgehen?