Avatar billede encorez Nybegynder
02. december 2007 - 17:53 Der er 9 kommentarer og
1 løsning

Udtræk på Date > 30 dage

Jeg har en tabel, "Users", med en række ved navn "birth" for fødselsdato. Jeg vil gerne lave et udtræk hvor jeg får alle users der fylder år inden for de næste 30 dage. Den måde jeg gør det på lige nu giver mig et problem i december måned.

Kan nogen hjælpe?
Avatar billede arne_v Ekspert
03. december 2007 - 00:56 #1
prøv:

SELECT *userspeople
WHERE ((DAYOFYEAR(birth)-DAYOFYEAR(NOW())+365)%365) <= 30
Avatar billede encorez Nybegynder
04. december 2007 - 14:22 #2
Super, det virker rigtig godt. Nu får jeg det rigtige udtræk.
Nu løber jeg så i et tillægsproblem. Hvordan får jeg dem sorteret rigtig så fødselsdatorækkefølgen bliver 10/12, 25/12, 2/1, 3/1?
birth rækken er typen Date. Kan det lade sig gøre i det samme udtræk?
Avatar billede arne_v Ekspert
04. december 2007 - 15:09 #3
ORDER BY (DAYOFYEAR(birth)-DAYOFYEAR(NOW())+365)%365 DESC
Avatar billede arne_v Ekspert
04. december 2007 - 15:09 #4
ORDER BY (DAYOFYEAR(birth)-DAYOFYEAR(NOW())+365)%365
Avatar billede arne_v Ekspert
04. december 2007 - 15:10 #5
ikke DESC
Avatar billede encorez Nybegynder
04. december 2007 - 16:07 #6
Super, virker perfekt :)  Læg et svar for hjælpen
Avatar billede arne_v Ekspert
04. december 2007 - 16:21 #7
kommer her
Avatar billede arne_v Ekspert
04. december 2007 - 16:26 #8
Jeg sidder lige og spekulerer paa om 365 burde vaere 366 for at haandtere skudaar ...
Avatar billede encorez Nybegynder
04. december 2007 - 16:59 #9
Hmmm, godt spørgsmål.
Hvad gør "%365" egentlig i SQL? Den forstod jeg ikke.
Avatar billede arne_v Ekspert
04. december 2007 - 17:19 #10
modulus
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester