• When you are comparing DATETIME Dates = the date AND time must be equal.

    If your data Type is DATE then TIME is eliminated, however GETDATE() will return DATE AND TIME. So they are not equal because there is no implicit conversion from GETDATE to Date

    So your where clause needs to consider this.

    WHERE My_DATE_Field = CAST(GETDATE() AS DATE)

    OR

    WHERE My_DATETIME_Field >= CAST(CAST(GETDATE() AS DATE) AS DATETIME)

    AND My_DATETIME_Field < CAST(CAST(GETDATE() + 1 AS DATE) AS DATETIME)