我正在嘗試返回上個月已完成標記的所有記錄的計數。列名稱是他的日期時間字段。這是我需要確保記錄在上個月完成的相同領域。Sql Server,如何返回記錄上個月蓋章的結果?
這是我
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條記錄。 如何糾正我的第一個查詢以獲得兩個查詢中的相同總數?
謝謝
謝謝亞當讓我走向正確的道路。這是我所做的,它的工作p.actualend CAST(CONVERT(varchar(8),DATEADD(dd, - (DAY(DATEADD(mm,1,GETDATE())) - 1),DATEADD(mm, - 1,GETDATE()))1)AS datetime AND CAST(DATEADD(s,86399,CONVERT(varchar(8),DATEADD(s,-1,DATEADD(mm,DATEDIFF(m,0,GETDATE() ),0)),1))AS datetime) – Mike 2013-05-07 22:43:45