2016-08-22 80 views
1

我有datepicker在form.aspx从日期&到日期我想当我从日期选择器中选择日期然后我想最后3个月的日期选择器的基本日记录,即如果我从DEC选择日期然后最后3个月历史显示得到最后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的作品,但是当我选择自由AUG那么这显示日期,而最近3个月,目前一个月的时候,我从一月或其他月份选择日期,那么这表明七月6月和数据,而我希望当我选择一月或任何其他月份假设我选择一月然后想十二月,11月,华侨城和Jan

+0

你没有通过日期SQL。除非“@RegNo”应该保存日期(在这种情况下,它需要一个更好的名字!)。但即使如此,@RegNo也不会在程序本身中使用。那么如果您没有将该值传递给您的代码,那么您如何期望它能动态调整为您选择的值? – ADyson

+0

@ADyson检查更新 – user6628729

+0

您有2个变量('@ fromdate','@ todate')以及它们在查询中用于何处? – gofr1

回答

1

您没有使用传递参数的查询,即@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) 
+0

我尝试这一点,但这个还四月逐月 四月 十二月 一月 十一月 十月 – user6628729

+0

我敢肯定在哪里条件这将让过去的三个月份数据,可以验证这两个参数的传递日期格式 –

+0

日期时间是请输入 – user6628729

相关问题