alter PROCEDURE [dbo].[SP_SelectDataByDateColumnShow]
-- Add the parameters for the stored procedure here
@StartDate date,-- 开始时间
@EndDate date --截至时间
AS
BEGIN
declare @strSql varchar(max);
declare @strDate varchar(max);
set @strDate='';
declare @index int;
set @index=0;
while(DATEDIFF(day,dateadd(DAY,@index,@StartDate),@EndDate)>=0)
begin
set @strDate=@strDate+'['+convert(char(10),dateadd(DAY,@index,@StartDate),120)+'],';
set @index=@index+1;
end
set @strDate=SUBSTRING(@strDate,0,len(@strDate));
set @strSql='
with cte
as
(
select * from table
)
select * from
(
select CityName,mDatetime,((cast(DatavalueOfHigh as int)+cast(DatavalueOfLower as int))/2) Datavalue
from cte
) as p
pivot
(
max(Datavalue) for mDatetime in('+@strDate+'
)
) as pivt'
--print @strSql
exec (@strSql)
END