mysql 两个日期区间,所有日期列表

1、项目中要用到,就去网上找了找,最后我总结一下:

        1.1、结构:

SELECT DATE_FORMAT(ADDDATE('2018-02-01',INTERVAL @d DAY),'%Y-%m-%d') AS date ,@d :=@d + 1 day
FROM 表名,(SELECT @d := 0) temp
WHERE ADDDATE('2018-02-01',INTERVAL @d DAY) <= DATE_FORMAT('2018-09-30', '%Y-%m-%d')
ORDER BY day;

        1.2、表名是随便找一个当前数据库的表,但是数据条数一定要大于日期区间内日期的天数,这样结果才正确。比如:表1有10条数据,那么上面那个查询就会只查出10条。

2、原理:(还没有研究,后续添加)

 

你可能感兴趣的:(mysql)