IF object_id('tempdb..#temp_pivot') is not null
drop table #temp_pivot
go
select * into #temp_pivot from (
select '2018-12-01' as CreateTime,10 as NUM
union
select '2018-12-01' as CreateTime,20 as NUM
union
select '2018-12-02' as CreateTime,20 as NUM
union
select '2018-12-03' as CreateTime,30 as NUM
union
select '2018-12-04' as CreateTime,40 as NUM
union
select '2018-12-05' as CreateTime,50 as NUM ) as T
go
declare @sql varchar(8000)
select @sql= isnull(@sql+ '],[' , '') + CreateTime from #temp_pivot group by CreateTime order by CreateTime asc
set @sql='['+@sql+']'
set @sql=replace(@sql,'[],','')
exec ('select * from #temp_pivot pivot(sum(NUM) for CreateTime in ('+@sql+')) TBL')