17. juni 2010 - 11:24Der er
7 kommentarer og 1 løsning
Select, hvor der hentes poster mellem 2 datoer
Hejsa. Jeg har en tabel med en række poster, som bla. har et datofelt (slutdato) med [datetime] format. Jeg ønsker at lave et udtræk, hvor slutdato har en værdi, der ligger mellem dagsdato minus 7 dage og dagsdato minus 2 dage. Altså slutdato mellem 14. juni og 19. juni.
Jeg har prøvet dette?
$sql = "SELECT * FROM `kalender` WHERE `slutdato` BETWEEN DATE_ADD(CURDATE(), INTERVAL -7 DAY) AND DATE_ADD(CURDATE(), INTERVAL -2 DAY)";
Hvad sker der med din query? For mig at se (og min test bekraefter det) er syntaksen god. Men naturligvis skal du soege interval-3 og interval+2 for at faa datoer mellem 14 juni og 19 juni.
Med denne tabel: CREATE TABLE nemlig1(navn VARCHAR(10), slutdato DATE);
INSERT INTO nemlig1 VALUES('navn1', '2010-06-10'); INSERT INTO nemlig1 VALUES('navn2', '2010-06-11'); INSERT INTO nemlig1 VALUES('navn3', '2010-06-12'); INSERT INTO nemlig1 VALUES('navn4', '2010-06-13'); INSERT INTO nemlig1 VALUES('navn5', '2010-06-14'); INSERT INTO nemlig1 VALUES('navn6', '2010-06-15'); INSERT INTO nemlig1 VALUES('navn7', '2010-06-16'); INSERT INTO nemlig1 VALUES('navn8', '2010-06-17'); INSERT INTO nemlig1 VALUES('navn9', '2010-06-18'); INSERT INTO nemlig1 VALUES('navn10', '2010-06-19'); INSERT INTO nemlig1 VALUES('navn12', '2010-06-20'); INSERT INTO nemlig1 VALUES('navn12', '2010-06-21');
gav queryen SELECT * FROM nemlig1 WHERE `slutdato` BETWEEN DATE_ADD(CURDATE(), INTERVAL -3 DAY) AND DATE_ADD(CURDATE(), INTERVAL +2 DAY)
dette resultat: cells navn slutdato navn5 2010-06-14 navn6 2010-06-15 navn7 2010-06-16 navn8 2010-06-17 navn9 2010-06-18 navn10 2010-06-19
Tak for bidraget. Jeg kigger på det. Jeg har desværre lavet den fejl, at jeg havde ændret min dato på min server til 21-06-2010, så da jeg skrev spørgsmålet, troede jeg, at datoen var d. 21.
Derfor skulle der have stået:
.....Altså slutdato mellem 10. juni og 15. juni......
Da jeg anvender DATETIME skal jeg vist også i min SQL anvende
Saa maaske var min bistand at du havde en at snakke med laenge nok til du fik snakket dig selv til rette. Det er jeg selv ikke saa sjaeldent ude for. (Og det er heller ikke ualmindeligt at naar jeg skal formulere et spoergsmaal for Eksperten og vil beskrive saa noejagtigt som muligt hvad problemet er, hvad jeg har gjort, og hvordan det har fejlet, at jeg opdager loesningen.)
Åh ja - det er også en løsning. Tabellen er ikke ret stor (200 poster). Tak for bidraget, som er meget inspirerende for lignende løsninger.
Synes godt om
Ny brugerNybegynder
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.