I m doing a query as follows:
SELECT * FROM a WHERE DATEDIFF(D, a.DateValue, DateTimeNow) < 3;
Your query doesn't seem to bad. Another way to tackle it would be:
SELECT * FROM a WHERE a.DateValue > DATEADD(dd,-3,GETDATE())