两个预定日期

时间:2014-06-24 15:14:00

标签: sql sql-server date between

如果我想根据上个月的统计数据搜索记录,我该怎么做?因此,如果我想在6月15日报告,那将包括5月15日至6月14日。7月15日的报告将包括6月15日至7月14日,依此类推。截至目前我有这个:

where currentemploydate between CAST('2013/05/15' AS DATETIME) AND CAST('2013/06/14' AS DATETIME) 

但后来我不知道如何自动更新下个月的日期。如果报告在20日运行,它仍然显示从当月的第14个月回到上个月的第15个月的日期

2 个答案:

答案 0 :(得分:0)

DECLARE @START datetime
SET @START = '2012-07-31'
DECLARE @END datetime
SET @END = DATEADD(DAY, 30, @START)
select @START, @END

假设一个月是30天,虽然....这是一个可接受的假设吗?

答案 1 :(得分:0)

然后我想你想要:

where currentemploydate between CAST('2013-05-15' AS DATETIME) AND
                                dateadd(month, 1, CAST('2013-05-15' AS DATETIME) )

这适用于任何日期常量。