Har du tider kopplade till dina dejter? BETWEEN är inklusive, men när du konverterar 2013-10-18 till ett datum blir det 2013-10-18 00:00:000.00. Allt som loggas efter den första sekunden av den 18:e kommer inte att visas med BETWEEN, om du inte inkluderar ett tidsvärde.
Försök:
SELECT
*
FROM LOGS
WHERE CHECK_IN BETWEEN
CONVERT(datetime,'2013-10-17')
AND CONVERT(datetime,'2013-10-18 23:59:59:998')
om du vill söka hela dagen den 18:e. Jag satte milisekunder till 998 eftersom SQL Server drog in 2013-10-19 00:00:00:0000 i frågan.
SQL DATETIME-fält har millisekunder. Så jag lade till 999 till fältet.