Avatar billede enkaelderkold Nybegynder
06. september 2004 - 22:31 Der er 5 kommentarer og
1 løsning

3 næste som har fødselsdag

Jeg ønsker at få de 3 næste fra idag (now) som har fødselsdag ud af min DB. Fødselsdagene ligger som datoer (date).
Avatar billede whatever Nybegynder
06. september 2004 - 22:39 #1
Prøv noget i retningen af:

SELECT * FROM table WHERE birthday > NOW() ORDER BY birthday LIMIT 3

Jeg er ikke specielt hård til PostgreSQL, så jeg er ikke helt klar over om det vil virke. Det burde virke i MySQL :-)
Avatar billede enkaelderkold Nybegynder
06. september 2004 - 22:47 #2
Problemet er at deres fødselsdato ligger år tilbage og derfor ikke kommer med ved denne konstruktion.
Avatar billede whatever Nybegynder
06. september 2004 - 22:51 #3
Ok, da sov jeg vist lidt.

Prøv dette:

SELECT * FROM table WHERE DATE_FORMAT(birthday,'%m-%d) > DATE_FORMAT(NOW(),'%m-%d') ORDER BY birthday LIMIT 3
Avatar billede enkaelderkold Nybegynder
06. september 2004 - 23:07 #4
SELECT birthday, username
FROM personal_data
WHERE DATE_FORMAT(birthday,'%m-%d') > DATE_FORMAT(NOW(),'%m-%d')
ORDER BY birthday
LIMIT 3;

giver følgende fejl:

ERROR:  Function date_format(date, "unknown") does not exist
        Unable to identify a function that satisfies the given argument types
        You may need to add explicit typecasts
Avatar billede whatever Nybegynder
06. september 2004 - 23:14 #5
Jeg er ikke lige klar over hvordan dato-funktionerne fungerer i PostgreSQL, så jeg tror at jeg står af.....
Avatar billede enkaelderkold Nybegynder
06. september 2004 - 23:17 #6
ok, men tak for hjælpen aligevel
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