一尘不染

如何获取上个月的数据和本月至今的数据

sql

在编写查询以获取上个月的数据以及本月至今的数据时需要帮助。

如果今天的日期是2011年3月23日,则需要检索上个月的数据以及直到今天的数据(即2011年3月23日)。

如果日期为2011年4月3日,则数据应包含3月月份的数据以及截至2011年4月3日的数据。

谢谢,

莎拉(Shahsra)


阅读 150

收藏
2021-03-17

共1个答案

一尘不染

Today including time info  : getdate()
Today without time info    : DATEADD(DAY, DATEDIFF(day, 0, getdate()), 0)
Tomorrow without time info : DATEADD(DAY, DATEDIFF(day, 0, getdate()), 1)
Beginning of current month : DATEADD(month, datediff(month, 0, getdate()), 0)
Beginning of last month    : DATEADD(month, datediff(month, 0, getdate())-1, 0)

所以最有可能

WHERE dateColumn >= DATEADD(month, datediff(month, 0, getdate())-1, 0)
  AND dateColumn <  DATEADD(DAY, DATEDIFF(day, 0, getdate()), 1)
2021-03-17