我正在尝试返回上个月标记为已完成的所有记录的计数。列名实际结束他的日期时间字段。这是我需要确保记录在上个月完成的同一字段。
这就是我所拥有的
SELECT count(*)
FROM PhoneCall AS p WITH (nolock)
WHERE ( p.actualend >= CAST(CONVERT(varchar(8), DATEADD(dd, - (DAY(DATEADD(mm, 1, GETDATE())) - 1), DATEADD(mm, - 1, GETDATE())), 1) AS datetime))
AND ( p.actualend <= CAST(CONVERT(varchar(8), DATEADD(s, -1, DATEADD(mm, DATEDIFF(m, 0, GETDATE()), 0)), 1) AS datetime))
这段代码给了我更高的结果(我得到的总结果是 847)
但是如果我运行这段代码
SELECT count(*)
FROM PhoneCall AS p WITH (nolock)
WHERE p.actualend BETWEEN '03/01/2013 00:00:00' AND '03/31/2013 23:59:59'
我总共得到 843 条记录。如何更正我的第一个查询以在两个查询中获得相同的总数?
谢谢