Ik val maar gelijk met de deur in huis, onderstaande SQL query heb ik


BETWEEN NOW() and DATE_ADD(NOW(), interval 7 day )


Het probleem is dat hij alle data laad behalve die vandaag die eigenlijk ook mee moet worden genomen.
Wat ik heb geprobeerd is:


BETWEEN DATE_ADD(NOW(),-1 day) and DATE_ADD(NOW(), interval 7 day )


Alleen hier lukt het ook niet mee.
Wat zou er fout kunnen zijn?
Je weet dat je zoekt tussen NU en 7 dagen in de toekomst (dus niet in het verleden)? NOW() is ook echt NU, dus data van 2 tellen terug valt hier buiten. Als je de hele dag van vandaag mee wilt nemen moet je CURDATE() (= NOW() zonder tijd = dus vanaf 00:00:00) ipv NOW() gebruiken.

[size=xsmall]Toevoeging op 27/04/2019 12:12:03:[/size]

O, en in je tweede stuk ontbreekt de INTERVAL bij DATE_ADD(NOW(),-1 day). Moet dus DATE_ADD(NOW(),INTERVAL -1 day) zijn (maar dan krijg je dus alles sinds gisteren - zelfde tijdstip als nu).
Twee dingen.

Interval: naar welke periode ben je nu precies op zoek?

Precisie: wil je dagen vergelijken (grover), of exacte tijden (fijner)?

data van huidige datum tot over een week:


SELECT * FROM tabel WHERE datum BETWEEN CURRENT_DATE AND CURRENT_DATE + INTERVAL 7 DAY;


En als het gaat om de afgelopen week, inclusief vandaag

SELECT * FROM tabel WHERE datum BETWEEN CURRENT_DATE - INTERVAL 7 DAY AND CURRENT_DATE + INTERVAL 1 DAY;

Reageren