Spójrz na Jak Czy daty są przechowywane w SQL Server? i Jak Czy między pracą z datami w SQL Server?
Jeśli jest to smalldatetime, ma dokładność 1 minuty, więc jeśli zaokrągla się w górę, dla datetime wynosi 300 milisekund
przykład
DECLARE @d DATETIME
SELECT @d = '2001-12-31 23:59:59.999'
SELECT @d
2002-01-01 00:00:00.000
DECLARE @d DATETIME
SELECT @d = '2001-12-31 23:59:59.998'
SELECT @d
2001-12-31 23:59:59.997
W Twoim przypadku zawsze używaj mniej niż następnego dnia o północy
< '20100401'