我们的数据库中有日期列,它们只是一天——比如出生日期。但是,SQL Server 将它们存储为日期和时间,并且记录中的时间具有各种值(不知道它是如何以这种方式结束的)。
问题是人们将对所有人运行查询,birthdates <= {some date}
并且不会返回相等的查询,因为DateTime
(使用 ADO.NET)设置为给定日期的时间为午夜。
我明白发生了什么事。问题是如何最好地处理这个问题。我们可以强制在 23:23:59.999999999 的时间到日期,但这感觉会有问题。
处理此问题的标准最佳做法是什么?