Haben Sie Zeiten, die mit Ihren Dates verbunden sind? BETWEEN ist inklusive, aber wenn Sie 2013-10-18 in ein Datum umwandeln, wird es 2013-10-18 00:00:000,00. Alles, was nach der ersten Sekunde des 18. protokolliert wird, wird nicht mit BETWEEN angezeigt, es sei denn, Sie geben einen Zeitwert an.
Versuchen Sie:
SELECT
*
FROM LOGS
WHERE CHECK_IN BETWEEN
CONVERT(datetime,'2013-10-17')
AND CONVERT(datetime,'2013-10-18 23:59:59:998')
wenn Sie den ganzen Tag des 18. suchen möchten. Ich habe Millisekunden auf 998 gesetzt, weil SQL Server 2013-10-19 00:00:00:0000 in die Abfrage gezogen hat.
SQL-DATETIME-Felder haben Millisekunden. Also habe ich 999 zum Feld hinzugefügt.