Czy masz czasy związane z twoimi datami? BETWEEN jest włącznie, ale po przekonwertowaniu dnia 18.10.2013 na datę otrzymuje się 18.10.2013 00:00:000.00. Wszystko, co zostanie zarejestrowane po pierwszej sekundzie 18 dnia, nie zostanie pokazane przy użyciu opcji BETWEEN, chyba że podasz wartość czasu.
Wypróbuj:
SELECT
*
FROM LOGS
WHERE CHECK_IN BETWEEN
CONVERT(datetime,'2013-10-17')
AND CONVERT(datetime,'2013-10-18 23:59:59:998')
jeśli chcesz przeszukać cały dzień 18-go. Ustawiłem milisekundy na 998, ponieważ SQL Server pobierał w zapytaniu 2013-10-19 00:00:00:0000.
Pola SQL DATETIME mają milisekundy. Więc dodałem 999 do pola.