We have date columns in our database that are just a day – like birth date. However, SQL Server stores them as a date & time and the time in the records has various values (no idea how it ended up that way).
The problem is people will run a query for all birthdates <= {some date} and the ones that are equal aren’t returned because a DateTime (using ADO.NET) set to a given date has a time of midnight.
I understand what’s going on. The question is how best to handle this. We could force in a time of 23:23:59.999999999 to the date but that feels like it would have problems.
What’s the standard best practice for handling this?
Simply add 1 day to {some_date} and use a less than comparison. Just make sure it’s the next day at 12am…