If you just want to find all the records in which there is a date of receipt, and there are records with future dates received, then what you are doing (very very little) is wrong ... Since the "Between" operator allows values ββthat are equal to the final border, therefore you can get entries with Received date = until midnight tomorrow ...
If there is no need to use the index in Accepted, then all you need to do is check that the date diff with the current datetime is 0 ...
Where DateDiff(day, received, getdate()) = 0
This predicate, of course, is not SARGable, so it cannot use the index ... If this is a problem for this query, then assuming that you cannot get the receipt dates in the future, I would use it instead ...
Where Received >= DateAdd(day, DateDiff(Day, 0, getDate()), 0)
If the dates you receive may be in the future, then you are probably as close to the most effective as you can be ... (Except for the change between the characters "From" to ">" and "<)
Charles Bretana
source share