将日期时间值与 SQL Server 中的日期进行比较
在数据库中查询在特定日期创建的记录时,重要的是要考虑列的日期时间性质。使用等于运算符(例如 U.DateCreated = '2014-02-07')将日期时间字段与仅日期部分进行比较可能不会返回预期结果。
解决方案 1:使用日期范围
要准确比较日期时间字段与日期部分,请使用日期range:
Select * from [User] U where U.DateCreated >= '2014-02-07' and U.DateCreated < dateadd(day,1,'2014-02-07')
此方法可确保检索在“2014-02-07”创建的记录,无论时间成分如何。
避免 WHERE 子句中的函数的原因
不建议在中使用函数(例如转换) WHERE 子句有两个主要原因:
日期范围的最佳实践
为了在查询日期和时间范围时获得最佳性能和准确性,最佳实践是使用以下格式:
WHERE col >= '20120101' AND col < '20120201'
以上是如何在 SQL Server 中高效地比较日期时间值和仅日期部分?的详细内容。更多信息请关注PHP中文网其他相关文章!