2016-04-02 8 views
0

Ich muss kommenden Geburtstag aus dem Datenbanktabellenname users und Spaltenname u_bday finden, wobei u_bday im Varchar-Format ist. ich habe das versucht aber nicht für mich arbeiten helfen.Finden Sie anstehende Geburtstage aus der Datenbank

$sql=" SELECT `f_name`,`u_bday` FROM `users` 
     WHERE DATE_ADD(`u_bday`, INTERVAL YEAR(CURDATE())-YEAR(`u_bday`)+ 
       IF(DAYOFYEAR(CURDATE()) > DAYOFYEAR(u_bday),1,0) YEAR) 
     BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 7 DAY)"; 

was soll ich tun ???

+0

sein _ „Was soll ich tun ???“ _ - eine kleine Sache namens _research_ ... http://Stackoverflow.com/search?q=mysql+upcoming+birthday – CBroe

Antwort

1

Verwendung dieser Funktion können Sie varcher Spalte Datumsformat konvertieren

str_to_date( fieldname, '%Y-%m-%d') 
+0

Arbeit wie Charme danke – vikky

0

Sie date_diff Funktion verwenden können und Abfrage könnte ungefähr wie unten

SELECT `f_name`,`u_bday` FROM `users` 
WHERE DATE_DIFF(`u_bday`, now()) > 1 
ORDER BY u_bday asc; 
Verwandte Themen