急存储过程 月份参数如何写

急急急!存储过程 月份参数怎么写!SQL code开始时间---------结束时间上月月初时间:DATEADD(Month,-1,DATEA

急急急!存储过程 月份参数怎么写!

SQL code
开始时间     ---------结束时间上月月初时间:DATEADD(Month,-1,DATEADD(s,-1,CONVERT(char(8),DATEADD(Month,1,getdate()),120)+'1'))--上月月末时间' 商品名称 和总数量select ProductName,sum(Qty)as LastMonthTotalQty,StateDate into #p1 from V_Product  where StateDate<='上月初时间'--本月初时间' 商品名称 和总数量select ProductName,sum(Qty) as ThisMonthTotalQty,StateDate into #p2 from V_Product  where StateDate>='本月时间' insert into #rep (#p1.ProductName,#p2.ProductName,#p1.LastMonthTotalQty,#p2.ThisMonthTotalQty)select isnull(#p1.ProductName,#p2.ProductName),       isnull(#p1.LastMonthTotalQty,#p2.ThisMonthTotalQty)from #p1 inner join #p2 on #p1.Id=#p2.Idselect * from #rep查询条件的话单表是一个月的表,查询的条件是哪个月为本月比如:我选择开始时间: 3月10号   结束时间 为 7月 10日那么上月时间就为: 3月10号 0时0分0秒---6月30日 23点59分59秒    本月时间 就是7月1日 -- 7月10号 23点59分59秒就想问一下 这2个月份参数怎么加上!急急急! 


[解决办法]
创建带有参数的存储过程
create procedure Pro_Test
@startTime dateTime,
@endTime dateTime
AS
BEGIN
--执行代码
END

调用方法
DECLARE @startTime dateTime
DECLARE @EndTime dateTime

SET @startTime = '2012-03-10'
SET @EndTime = '2012-07-10'
exec dbo.Pro_Test @startTime ,@EndTime

[解决办法]
什么叫不是固定死的

[解决办法]
写成存储过程 然后开始时间和结束时间作为参数 是不是这个意思?
[解决办法]
加个字段区分
SQL code
select month(上月初时间)  as nonth, ProductName,sum(Qty)as LastMonthTotalQty,StateDate into #p1 from V_Product  where StateDate<='上月初时间'
[解决办法]
DECLARE @startTime dateTime
DECLARE @EndTime dateTime

select @startTime =DATEADD(Month,-1,DATEADD(s,-1,CONVERT(char(8),DATEADD(Month,1,getdate()),120)+'1'))


这样不行么