如何获取上个月的数据和月初数据

Sha*_*sra 11 sql t-sql sql-server sql-server-2008

需要帮助编写查询以获取上个月的数据以及月初至今的数据.

如果今天的日期是2011年3月23日,我需要检索上个月的数据和截至今天的数据(2011年3月23日).

如果日期是2011年4月3日,则数据应包含3月份数据和截至2011年4月3日的数据.

谢谢,

Shahsra

Ric*_*iwi 16

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)
Run Code Online (Sandbox Code Playgroud)

所以最有可能

WHERE dateColumn >= DATEADD(month, datediff(month, 0, getdate())-1, 0)
  AND dateColumn <  DATEADD(DAY, DATEDIFF(day, 0, getdate()), 1)
Run Code Online (Sandbox Code Playgroud)