Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL entre non inclus

C'est c'est compris. Vous comparez des dates/heures à des dates. La deuxième date est interprétée comme minuit quand le jour commence .

Une façon de résoudre ce problème est :

SELECT *
FROM Cases
WHERE cast(created_at as date) BETWEEN '2013-05-01' AND '2013-05-01'

Une autre façon de résoudre ce problème consiste à utiliser des comparaisons binaires explicites

SELECT *
FROM Cases
WHERE created_at >= '2013-05-01' AND created_at < '2013-05-02'

Aaron Bertrand a une longue entrée de blog sur les dates (ici), où il discute de cela et d'autres problèmes de date.