Forza Udinese !!!
Non c'è nulla nel campo data.
Se la date sono salvate come nel tuo esempio (Domenica 21/08) mi dispiace ma non si puo' fare nulla o allora diventa complicato.
Di più le tue date non contengono l'anno il che rende difficile l'uso per i mesi a cavallo di due anni (dicembre e gennaio).
L'unico modo di poter fare dei calcoli su delle date è usare un campo tipo data. O convertire un campo stringa formatato SSAAMMGG (20170321 per la data odierna).
Un consiglio. Modifica la tabella per salvare delle date vere e proprie. Cioè con un formato che consente di fare dei calcoli.
Esempio : Ho una tabella con i record seguenti :
Oggi = 21/03/2017
evento |
data 1 |
|
compleanno gigi |
2017-01-03 |
compleanno marco |
2017-01-25 |
compleanno anna |
2017-03-10 |
compleanno luigi |
2017-03-14 |
compleanno erica |
2017-03-17 |
compleanno laura |
2017-03-31 |
Con la query ricavo in un attimo l'evento più vicino alla date odierna.
codice:
SELECT * FROM `tab_calend`
where
datediff(curdate(), data) =
(SELECT min(datediff(curdate(), data))
from `tab_calend`
where datediff(curdate(), data) >=0)
Risultato
evento |
data |
|
compleanno erica |
2017-03-17 |