--常用的做法, 会漏掉 类似 BeginDateTime = '2011-11-30 23:59:00' 的记录
SELECT COUNT(*)
FROM Appointment a
WHERE a.BeginDateTime BETWEEN '11/1/2011' AND '11/30/2011'
--推荐做法
SELECT COUNT(*)
FROM Appointment a
WHERE DATEDIFF(DAY, '11/1/2011', a.BeginDateTime) >= 0
AND DATEDIFF(DAY, '11/30/2011', a.BeginDateTime) <= 0
SQL - 取两日期之间的记录, 最好是用 DATEDIFF 而不是 Between
最新推荐文章于 2023-11-24 11:32:45 发布
本文探讨了在SQL查询中利用DATEDIFF函数优化日期范围筛选,防止出现日期边界遗漏的问题,通过实例展示了推荐做法比传统做法更高效准确地获取特定时间段内的记录数。
1341

被折叠的 条评论
为什么被折叠?



