展开全部
根据你的数据,给你个例子,其中的数据类型不一定和你的完32313133353236313431303231363533e59b9ee7ad9431333335333066全一样,需要你自己根据你的实际情况去调整:--创建表
--create table [table](dtime datetime, data varchar(10), num smallint)
--添加测试数据
--insert into [table] select '2002-9-8' ,'data1',0
--insert into [table] select '2002-9-10' ,'data1',3
--insert into [table] select '2002-9-11' ,'data1',4
--测试语句
select * from [table]
--你需要的效果
declare @d table(time datetime)
declare @date datetime
set @date='2002-09-07'
while @date<='2002-09-12'
begin
insert @d select @date
set @date= dateadd(dd,1,cast(@date as datetime))
end
select convert(varchar(10),time,120) as time
, isnull(data, 'data1') as data
,isnull(num, 0) as num
from @d d left join [table] t
on convert(varchar(10),dtime,120) = convert(varchar(10),time,120)
最终结果:
具体还有什么其他想法,可以参考我的博客:
里面的第五点,标题是"5、按月统计查询"