Mysql补全时间段内的日期
通过辅助表补全时间段的日期
1、辅助表
需要保证有足够多的数据,且比较稳定,数据确定了之后基本不会进行增删改操作最好;个人觉得200-300条数据就差不多了,毕竟一般业务也不会有这么多日期要查询,多用于报表
我这里拿了区县编码表用作辅助表
2、建立日期临时表
SELECT
( @date := DATE_ADD( @date, INTERVAL 1 DAY )) AS date
FROM `areas`,( SELECT @date := '2022-06-20' ) temp
WHERE
@date < '2022-08-20'
这里 @date 为自定义变量; SELECT @date := '2022-06-20' 为变量赋初值‘2022-06-20’;@date := DATE_ADD( @date, INTERVAL 1 DAY ) 进行变量加一操作;其中‘areas’表为辅助表,where条件中的'2022-08-20'是时间段的结束;效果如下:
补全了2022-06-20至2022-08-20之间的所有日期
3、与数据表进行左连接查询
用日期临时表与业务数据表进行左连接查询,即可实现补全并没有数据的日期
标签:20,补全,日期,时间段,2022,Mysql,date,06 From: https://www.cnblogs.com/bbttz/p/16608664.html