Avatar billede Mik2000 Professor
11. december 2005 - 15:08 Der er 6 kommentarer og
1 løsning

Dato - en måned gammel

Hej alle

Jeg har en dato gemt i en database og skal trække et hvis antal dage fra den, for at slette alt der er ældre end den dato.

Kan du hjælpe mig med hvordan det kan gøres.

Mvh
Dan
Avatar billede Mik2000 Professor
11. december 2005 - 15:57 #1
Så kom jeg i tanke om det. Benytter bare Unix Epoch :)
Avatar billede jakobdo Ekspert
11. december 2005 - 18:49 #2
Ellers kan du også bruge:
DELETE FROM tabel WHERE dato < ADDDATE(NOW(),INTERVAL -1 MONTH)
Avatar billede Mik2000 Professor
11. december 2005 - 20:48 #3
Kan man bare skrive dette uanset hvilket format datoen står i? (d-m-Y eller Y-m-d)?
Avatar billede Slettet bruger
12. december 2005 - 05:33 #4
Hvis datoen er gemt som et dato/tid-felt i databasen, så kan man bruge den metode.

Hvis man har gemt datoen i en anden type felt (f.eks int, varchar, char eller tinytext) så bør man lave det om til den igtige type.
Avatar billede Mik2000 Professor
12. december 2005 - 16:05 #5
Den er bare gemt som et dato felt og ikke dato/tid. Skulle det ikke være fint nok til det også eftersom jeg ikke bruger tiden.

Ps. kan godt lave nyt spørgsmål og give point hvis det er
Avatar billede jakobdo Ekspert
12. december 2005 - 16:07 #6
Den skulle også virke med datatypen: DATE!
Avatar billede Slettet bruger
13. december 2005 - 06:35 #7
Jeg mente også bare at datoer og tider skulle gemmes som de relevante typer i databasen. Dvs DATE for rene datoer, TIME for klokkeslet, og DATETIME for begge dele.

Nu bruger du godt nok allerede den korrekte type for dine data, men her er lige en længere smøre om hvorfor det er en god ide.

Fidusen er, at man får meget større fleksibilitet ved at lade hvert system bruge sin egen datatype, som er specifikt beregnet på det, den indeholder.

Forestil dig en log-tabel, som indeholder hits på en webserver. Så længe, du bare skal liste alle hits, er det let nok uanset datatypen, men du kan ganske let lave mere avancerede forespørgsler med den rigtige type, som det ville være meget besværligt at lave med tekst-felter eller int. Her er et par eksempler:

List antallet af hits grupperet efter ugedag.
List antallet af hits grupperet efter ugenummer.
List antallet af hits grupperet efter time.

Disse er alle gode til at se, om der er bestemte tide, hvor serveren er mere eller mindre belastet end andre tider. Kan bruges til at vælge det optimale tidspunkt at lave serveropgradering og lign. Eller til at lave variable annoncepriser.

Og så til den avancerede:

Find alle hits i det sidste år, men kun på hverdagsnætter mellem 0 og 6. Jeg tvivler på at det kan lade sig gøre uden at bruge den rigtige type.

Og for folk, der ikke er interesserede i webserverhits, kan de samme forespørgsler udmærket bruges til at lave udtræk af en tabel med varesalg: Hvilke varer sælger bedst hvornår?
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