Zie dit gerelateerde vraag.
Zoals anderen al hebben gezegd, is uw primaire probleem niet de tijd. Een paar opties om dat aan te pakken:
-
Gebruik een functie om de DateTime naar een Date te converteren. Ik raad deze optie niet aan, omdat het waarschijnlijk de functie niet-sargeable .
-
Breid uw
BETWEEN
. uit om het laatste moment van de dag expliciet op te nemen:(let op:dit is de laatst mogelijke waarde die MS SQL kan opslaan, weet niet of MySQL dezelfde waarde heeft)SELECT * FROM `punches` WHERE `date` BETWEEN '08/20/11 00:00:00.000' AND '08/31/11 23:59:59.997'
-
Gebruik een
<
voor de bovenste waardeSELECT * FROM `punches` WHERE `date` >= '08/20/11' AND `date` < '09/01/11'
Ik denk eigenlijk dat de laatste makkelijker is, in de meeste situaties.
Ik veronderstel dat je andere dingen zou kunnen doen, zoals het gegevenstype van de kolom wijzigen, maar ik heb hier aangenomen dat je alleen geïnteresseerd bent in het wijzigen van de zoekopdracht.
** Disclaimer:ik ben een MS SQL-man, niet MySQL