set @i = -1;
set @sql = repeat(" select 1 union all",-datediff('2017-09-01','2020-09-01')+1);
set @sql = left(@sql,length(@sql)-length(" union all"));
set @sql = concat(" INSERT into fj_bszs_date(rq) (select date_add('2017-09-01',interval @i:=@i+1 day) as date from (",@sql,") as tmp)");
prepare stmt from @sql;
execute stmt
set @sql = repeat(" select 1 union all",-datediff('2017-09-01','2020-09-01')+1);
set @sql = left(@sql,length(@sql)-length(" union all"));
set @sql = concat(" INSERT into fj_bszs_date(rq) (select date_add('2017-09-01',interval @i:=@i+1 day) as date from (",@sql,") as tmp)");
prepare stmt from @sql;
execute stmt
本文介绍了一种使用SQL脚本批量生成指定日期范围内的日期数据的方法。通过动态拼接SQL语句,实现从起始日期到结束日期之间的所有日期自动填充到数据库表中。这种方法适用于初始化数据库或填充测试数据。
174万+

被折叠的 条评论
为什么被折叠?



