如果有权限对数据库进行修改操作可以使用以下方法生成日期:
CREATE TABLE num (i INT);
INSERT INTO num (i) VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9);
SELECT ADDDATE(‘2018-01-01’, numlist.id) AS ‘date’ FROM
(SELECT n1.i + n10.i10 + n100.i100 AS id FROM num n1 CROSS JOIN
num AS n10 CROSS JOIN num AS n100) AS numlist
WHERE ADDDATE(‘2018-01-01’, numlist.id) <= DATE_FORMAT(CURDATE(),’%Y-%m-%d’);
如果没有权限对数据库进行修改操作可以使用以下方法生成日期:
select @num:=@num+1,date_format(adddate('2019-01-01', INTERVAL @num DAY),'%Y-%m-%d') as date
from table_name,(select @num:=0) t where adddate('2019-01-01', INTERVAL @num DAY) <= date_format(curdate(),'%Y-%m-%d')
order by date;
注意:如果想让日期显示全,必须保证table_name中有足够多的数据,如果表中只有10条数据,那么只能显示10天的日期