Se dette relaterede spørgsmål.
Som andre har nævnt, er dit primære problem ikke at tage højde for tiden. Et par muligheder for at håndtere det:
-
Brug en funktion til at konvertere DateTime til en Dato. Jeg anbefaler ikke denne mulighed, da den sandsynligvis vil gøre funktionen ikke-sargebar .
-
Udvid din
BETWEEN
for eksplicit at inkludere dagens sidste øjeblik:(bemærk:dette er den seneste mulige værdi, som MS SQL kan gemme, ved ikke om MySQL har samme værdi)SELECT * FROM `punches` WHERE `date` BETWEEN '08/20/11 00:00:00.000' AND '08/31/11 23:59:59.997'
-
Brug en
<
for den øvre værdiSELECT * FROM `punches` WHERE `date` >= '08/20/11' AND `date` < '09/01/11'
Jeg tror faktisk, at den sidste er nemmere i de fleste situationer.
Jeg formoder, at du kunne gøre andre ting, såsom at ændre kolonnens datatype, men jeg har her antaget, at du bare er interesseret i at ændre forespørgslen.
** Ansvarsfraskrivelse:Jeg er en MS SQL-mand, ikke MySQL