Eche un vistazo a Cómo ¿Se almacenan las fechas en SQL Server? y Cómo ¿Entre funciona con fechas en SQL Server?
Si es una fecha y hora pequeña, tiene una precisión de 1 minuto, por lo que si se redondea hacia arriba, para la fecha y hora es de 300 milisegundos
ejemplo
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
Utilice siempre menos que el día siguiente a la medianoche, en su caso
< '20100401'