现在的位置: 首页 > 综合 > 正文

SQL – 取两日期之间的记录, 最好是用 DATEDIFF 而不是 Between

2014年01月13日 ⁄ 综合 ⁄ 共 266字 ⁄ 字号 评论关闭
--常用的做法, 会漏掉 类似 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

抱歉!评论已关闭.