Ska hitta födelsedagar vars månad och dag är lika med eller större än dagens datum (så jag vet vilka av mina vänner jag kan kräva tårta av. Redan uppätene tårtor vill jag inte ha!) ;)
Om vi tar dagens datum (2009-03-07)
SELECT * FROM databas WHERE day_date >= '%-03-07'
Av frågan ovan får jag även ut tidigare födelsedagar :( (gammal tårta vill väll ingen ha!!!)
Vad gör jag för fel? (trött, blind och *gäsp* Zzzzzz...)
Jag kan inte använda dagens datum, detta då året är personernas födelse, år.
Ex.
1954-01-13 - Bertil
1984-06-10 - Lisa
Om jag nu ska göra en sökning på vilken av dessa personer som har sina födelsedagar kvar att fira detta året, vill jag ju bara få träffar på Lisas datum. (Sedan använder jag hennes årtal minus året och får fram åldern.)
Att använda strängfunktioner kanske funkar - ett tag, eller på en viss server. Nästa gång du kör frågan kanske ett annat datumformat ges, till exempel 03/08/2009. Då får du /2009 tillbaka. Det är fel.
Peter S: Letade efter kommandot DAY på https://www.mysql.org men fann inget där. Ser först nu hur genial Ledels förslag är.
När jag letade på https://www.mysql.org efter DAY gav dom förslag på en liknade funktion som jag gjorde ovan, därför blev det så :-/
Men helt klart ska jag ge DAY kommandot en test.
Jag ger mig. Förlåt för min dumhet och okunskap och slarv och .... Det funkade med Day() och Month(), och som påpekat är det ju säkrare.
Får ta och se om jag en dag kommer överns med sidan mysql.com så jag också kan hitta dom fina/bra/rätta kommandona, detta så jag slipper störa er :)
Använder jag "RIGHT(day_date,5)>='04-24'" får jag dessa 10 första datum :
04-24 - Gabriella
04-26 - Ivo
04-29 - Barbro
04-29 - Berth
04-29 - Isabell
05-05 - Henrik
05-10 - Torgny
06-05 - Inga-Lill
06-06 - Klaudia
06-10 - Miranda
...
Använder jag "MONTH(day_date)>=4 AND DAY(day_date)>=24" får jag följande 8 datum (">='4'" ger ingen skillnad) :
04-24 - Gabriella
04-26 - Ivo
04-29 - Isabell
04-29 - Barbro
04-29 - Berth
06-27 - Veronica
09-25 - Stanko
12-28 - Kreso