获取上个月的日期范围
Get last month date range
WHERE ap_CreatedDate BETWEEN DATEADD(DAY,1,EOMONTH(GETDATE(),-2)) AND EOMONTH(GETDATE(),-1)
上述查询将 return last/previous 月,但是由于包含时间范围的日期,它从上个月 (2022-04-30) 的最后一天开始缺少 2 条记录:
2022-04-30 09:16:00.000
2022-04-30 19:11:02.907
我目前正在手动提取日期
where ap_CreatedDate >= '2022-04-01' and ap_CreatedDate < '2022-05-01'
但我想自动执行此过程,非常感谢任何帮助
执行此操作最清晰且最不容易出错的方法如下:
- 使用大于等于
>=
作为下限
- 使用小于
<
的上限,并将该限制设为下个月的第一天
WHERE ap_CreatedDate >= DATEADD(DAY, 1, EOMONTH(GETDATE(), -2))
AND ap_CreatedDate < DATEADD(DAY, 1, EOMONTH(GETDATE(), -1))
- 不要使用
between
,因为它涵盖的内容不直观,您可能会遇到这个问题
WHERE ap_CreatedDate BETWEEN DATEADD(DAY,1,EOMONTH(GETDATE(),-2)) AND EOMONTH(GETDATE(),-1)
上述查询将 return last/previous 月,但是由于包含时间范围的日期,它从上个月 (2022-04-30) 的最后一天开始缺少 2 条记录:
2022-04-30 09:16:00.000
2022-04-30 19:11:02.907
我目前正在手动提取日期
where ap_CreatedDate >= '2022-04-01' and ap_CreatedDate < '2022-05-01'
但我想自动执行此过程,非常感谢任何帮助
执行此操作最清晰且最不容易出错的方法如下:
- 使用大于等于
>=
作为下限 - 使用小于
<
的上限,并将该限制设为下个月的第一天
WHERE ap_CreatedDate >= DATEADD(DAY, 1, EOMONTH(GETDATE(), -2))
AND ap_CreatedDate < DATEADD(DAY, 1, EOMONTH(GETDATE(), -1))
- 不要使用
between
,因为它涵盖的内容不直观,您可能会遇到这个问题