Jetez un œil à Comment Les dates sont-elles stockées dans SQL Server ? et Comment Entre fonctionne-t-il avec les dates dans SQL Server ?
S'il s'agit d'un petit datetime, il a une précision de 1 minute, donc s'il est arrondi, pour datetime, il est de 300 millisecondes
exemple
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
Utilisez toujours moins que le lendemain à minuit, dans votre cas
< '20100401'