Avatar billede Slettet bruger
24. april 2009 - 20:26 Der er 3 kommentarer og
1 løsning

En lille SQL-tricker

Hey alle!

Jeg har en tabel med rækken `event_date` (format: dd-mm-yyyy). Jeg vil nu gerne hente data ud fra den tabel, hvor event_date er i fremtiden.

Nogle forslag? Jeg kan ikke hitte ud af den med dato-formatet osv.
Avatar billede erikjacobsen Ekspert
24. april 2009 - 20:32 #1
Nej, det er et dumt datoformat. Du bør altid bruge en dato-type, i MySql hedder den DATE. Så kan du benytte indbyggede datofunktioner. Når brugeren ser dato, skal den måske konverteres.
Avatar billede Slettet bruger
24. april 2009 - 20:33 #2
Ja det forstår jeg godt, og ville aldrig selv bruge det format - men landet ligger således at jeg skal tilføje nogle features på en side, der er lavet i forvejen.. og det er nu engang sådan den er sat op..
Avatar billede erikjacobsen Ekspert
24. april 2009 - 20:42 #3
Lav systemet om? Få et nyt arbejde? Det kan ikke være meningen at du skal spilde din tid med dumt arbejde?

Man kan dog med substring-funktionen i mysql lave formatet om til yyyy-mm-dd i forespørgslen, og så spørge på det er større end '2009-04-24'. Det vil hver gang kræve et gennemløb af alle rækker i tabellen. Se fx et eksempel på http://zpiff.dk/index.php?title=Mysql_-_varchar_til_datetime
Avatar billede Slettet bruger
24. april 2009 - 20:48 #4
Hehe, har også sagt til mig selv at i fremtiden skal mine opgaver kun bestå af at bygge mine egne systemer ;) Har nu fået 2-3 opgaver hvor det har handlet om at rette slavekode.

Men jeg fandt en alternativ måde at gøre det på:
Først gennemløber jeg min query uden at filtrere dato, kører det gennem og tjekker via PHP om datoen er nyere end nu, hvis ja: $count++

Derefter kører jeg samme query, med SORT `event_date` DESC LIMIT $count

Og kører data ud fra det - eneste mulighed jeg lige kan gennemskue..
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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