Ole Dalsgaard Jensen wrote in dk.edb.internet.webdesign.serverside.asp:
> "Kenneth" <kenneth@nospam.witte.dk> skrev i en meddelelse
> news:pUxZ9.46772$Hl6.5989403@news010.worldonline.dk...
> > id navn født(datotype)
> > 1 Henrik 15-11-1971
> > 2 Mads 02-10-1975
> > 3 Mette 22-05-1980
> > 4 Ib 23-02-1964
> >
> > Så til spørgsmålet: Hvordan får man listet de næste 3 personer der har
> > fødselsdag ud fra dagsdato? Jeg går ud fra, at selve årstallet behøver man
> > ikke, men den er der altså! :)
> SELECT * FROM tabelNavn WHERE MONTH(født) * DAY(født) >= MONTH(Date()) *
> DAY(Date()) ORDER BY MONTH(født), DAY(født)
> hvis du kun ønsker dem, der har fødselsdag efter dags dato.
Du kan ikke bare gange måned med dag, for i januar vil det give 1 til 31, og i
februar vil det give 2, 4, 6, ... Dvs 3 januar er efter 1 februar!
I stedet må du mene MONTH(født) * 31 + DAY(født) >= MONTH(date()) * 31 +
DAY(date()). Jeg ved ikke om der er en DayOfYear-function, med det er jo det vi
prøver at lave.
Og så har vi heller ikke taget højde for at hvis man står på den 31 december,
så er der jo ikke nogle, der har fødselsdag på en dato senere på året... Så der
ville ikke komme nogle ud!
I stedet for SELECT * kunne du også bare nøjes med SELECT TOP 3 <feltnavne>, så
trækker du kun det ud du skal bruge.
mvh Torben
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! =>
http://www.html.dk/tutorials