• If your field is a datetime data type, then you're comparing the datetime result of GetDate() against the datetime value of the field. So, nothing's going to match. I like the BETWEEN or <= and >= approach as well. That was you can avoid putting date parsing functions on the field (i.e.: to the left of the = sign) which would be a disaster for performance.

    Effectively, you want use date functions that evaluate to something like this:

    WHERE Invoice_Date BETWEEN '01/01/2013 00:00:00.000'

    AND '01/01/2013 23:59:59.999'