Ta en titt på Hur Lagras datum i SQL Server? och Hur Fungerar Between med datum i SQL Server?
Om det är en liten datumtid har den 1 minuts precision så om den avrundas uppåt är den för datumtid 300 millisekunder
exempel
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
Använd alltid mindre än nästa dag vid midnatt, i ditt fall
< '20100401'