Il a été supposé que la deuxième référence de date dans les BETWEEN
la syntaxe est magiquement considérée comme la "fin de la journée" mais c'est faux .
c'est-à-dire que c'était attendu :
SELECT \* FROM Cases
WHERE created\_at BETWEEN **_the beginning of_** '2013-05-01' AND **_the end of_** '2013-05-01'
mais ce qui se passe réellement est ceci :
SELECT \* FROM Cases
WHERE created\_at BETWEEN '2013-05-01 **00:00:00+00000**' AND '2013-05-01 **00:00:00+00000**'
Ce qui devient l'équivalent de :
SELECT \* FROM Cases WHERE created\_at **\=** '2013-05-01 **00:00:00+00000**'
Le problème est celui des perceptions et des attentes à l'égard de l'Europe. BETWEEN
dont hace inclure à la fois la valeur inférieure et la valeur supérieure de l'intervalle, mais no faire magiquement d'une date le "début de" ou "la fin de".
BETWEEN
doivent être évités lors du filtrage par plages de dates.
Toujours utiliser le >= AND <
au lieu de
SELECT \* FROM Cases
WHERE (created\_at **\>=** '20130501' **AND** created\_at **<** '20130502')
les parenthèses sont facultatives ici mais peuvent être importantes dans des requêtes plus complexes.