mysql 补齐日期_关于一个sql查询完,补全日期。需要帮助

展开全部

根据你的数据,给你个例子,其中的数据类型不一定和你的完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)

最终结果:

8e68b59a1a5fcee49b09ba23d1262014.png

具体还有什么其他想法,可以参考我的博客:

里面的第五点,标题是"5、按月统计查询"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值