--示例存储过程
create proc p_qry
@开始时间 datetime,
@结束时间 datetime,
@每组月数 int=4 --默认4个月一组
as
select 组=datediff(month,@开始时间,日期)/@每组月数
,平均值=avg(数字)
from 表
where 日期 between @开始时间 and @结束时间
group by datediff(month,@开始时间,日期)/@每组月数
create proc p_qry
@开始时间 datetime,
@结束时间 datetime,
@每组月数 int=4 --默认4个月一组
as
select 组=datediff(month,@开始时间,日期)/@每组月数
,平均值=avg(数字)
from 表
where 日期 between @开始时间 and @结束时间
group by datediff(month,@开始时间,日期)/@每组月数
when datepart(quarter,日期) in (5,6,7,8) then '5'
when datepart(quarter,日期) in (9,10,11,12) then '9'
end as 月组,
avg(数据字段) as 平均数据字段
from 表
group by year(日期),case when datepart(quarter,日期) in (1,2,3,4) then '1'
when datepart(quarter,日期) in (5,6,7,8) then '5'
when datepart(quarter,日期) in (9,10,11,12) then '9'
end
SELECT DATEDIFF(mm,0,'2003-1-8') --计算'2003-1-8'和“1900-01-01 00:00:00.000”这个日期之间的月数
SELECT DATEDIFF(mm,0,getdate()) --计算当前日期和“1900-01-01 00:00:00.000”这个日期之间的月数
SELECT DATEDIFF(mm,0,getdate())-DATEDIFF(mm,0,'2003-1-8')+1 --结束时间与开始时间月数的差
Server: Msg 1023, Level 15, State 1, Line 1
指定於 datediff 的參數 1 無效。
請問怎麼解決