我在form.aspx fromdate&to date上有datepicker,我想从日期选择器中选择日期时,我希望基于datepicker选择的基础上最近3个月的记录,即如果我从DEC中选择日期,则最近3个月的记录显示
我尝试这个
ALTER PROCEDURE [dbo].[SPMONTH]
@fromdate datetime,
@todate datetime
AS
select DATENAME(MONTH,tblReg.StartDate) AS [Month]
from tblReg
where
tblReg.StartDate>=DATEADD(MONTH,-3,GETDATE())
AND tblReg.EndDate<=GETDATE()
GROUP BY
DATENAME(MONTH,tblReg.StartDate)
当我执行这个
[SPMONTH] '2016-01-01 00:00:00', '2016-01-30 23:59:59'
结果
Month
August
July
June
May
上面的sp可以工作,但是当我从八月中选择日期时,则显示过去三个月和当前月份,而当我从一月或另一个月中选择日期时,则显示七月,六月和可能的数据,而当我选择一月或任何其他月份时,我想我选择jan然后想要dec,nov,oct和jan
您没有在查询中使用传递参数,即@fromdate
,也@todate
没有在查询中使用传递参数,如下所示在where子句中使用此参数
select DATENAME(MONTH,tblReg.StartDate) AS [Month]
from tblReg
where
tblReg.StartDate>=DATEADD(MONTH,-3, @fromdate)
AND tblReg.EndDate<= @todate
GROUP BY
DATENAME(MONTH,tblReg.StartDate)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句