Anzahl Tage bis Geburtstag?

FunkyMonkey

Mitglied
Hallo

in einem MySQL-Query will ich mir ausgeben lassen wieviel Tage noch vergehen bis jemand Geburtstag hat.

Ich habe es mal vereinfacht und versuche nur mir die Differenz in Tagen errechnen zu lassen:

Code:
Select datediff((DATE('2000-08-08')), (DATE('2000-08-08')-NOW()));

Leider klappt da irgendwas nicht, bzw. an der Logik ist komplett was faul. Resultat:

datediff((DATE('2000-08-08')), (DATE('2000-08-08')-NOW()))
NULL

zumindest keine Fehlermeldung...

Danke für jeden Tipp!
 
Probier mal
Code:
Select datediff('2008-08-08',NOW());

Da bekommst dann jetzt 350 Tage raus

Du willst ja die Differenz vom Heutigen Tag zum Geburtstag.

Und nicht wie bei dir die differenz von dem Geburtstag und Heute-Geburtstag( was ja 350 Tage ergibt).
Das würde ja sowas wie Differenz aus 2008-08-08 und 350 Tage sein.

Michael
 
Zuletzt bearbeitet:
Hi Michael,

danke Dir für die Info. Sieht gut aus :-)

Wie ist das nun, wenn man ein Geburtsdatum hat (Datentyp DATE) und will sich in einer Spalte ausgeben lassen wieviele Tage es noch dauert bis jemand Geburtstag feiert?

Das Problem ist ja, das man jedes Jahr quasi "Geburtstag" hat...
 
so vielleicht?
Code:
SELECT 
IF (DATEDIFF (DATE_ADD(geburtstag,INTERVAL (EXTRACT(YEAR FROM NOW())-EXTRACT(YEAR FROM geburtstag)) YEAR),NOW())>0, 
DATEDIFF(DATE_ADD(geburtstag,INTERVAL (EXTRACT(YEAR FROM NOW())-EXTRACT(YEAR FROM geburtstag)) YEAR),NOW()), 
DATEDIFF(DATE_ADD(geburtstag,INTERVAL (EXTRACT(YEAR FROM NOW())+1-EXTRACT(YEAR FROM geburtstag)) YEAR),NOW())) 
AS noch_tage_bis_geburtstag  FROM geburtstagstabelle;
 
Zurück