SQL本月1日到月底

时间:2010-08-26 13:56:38

标签: sql sql-server sql-server-2005

我有@StartDate和@EndDate。

我需要@StartDate作为查询运行的那天(这将始终是本月的第一天)而@EndDate将在月末显示,无论月份是30天还是31天等等。

1 个答案:

答案 0 :(得分:6)

一个有效的例子:

DECLARE @StartDate DATETIME, @EndDate DATETIME

SET @StartDate = '2010-01-01 00:00:00.000'
SET @EndDate = DATEADD(m, 1, @StartDate)

SELECT @StartDate, @EndDate - 1

基本上你想要开始日期,加一个月(这是DATEADD正在做的事情),然后扣除一天。

该查询的输出是:

StartOfMonth            EndOfMonth
----------------------- -----------------------
2010-01-01 00:00:00.000 2010-01-31 00:00:00.000