这个问题已经在这里有了答案 :
从日期范围生成天数 (29个答案)
7年前关闭。
我想显示a from和toMySQL中的日期之间的所有日期。
from
to
例如schedule,具有from和to字段的表中的数据为:
schedule
from日期是2013-3-13和
2013-3-13
to日期2013-3-20,
2013-3-20
我想要的结果是:
2013-3-13 2013-3-14 2013-3-15 2013-3-16 2013-3-17 2013-3-18 2013-3-19 2013-3-20
如何仅使用MySQL查询来实现此目的(而不必使用存储过程,因为我对此并不熟悉)?
编辑:
尽管我仍然没有完全得到想要的结果,但是这里的答案很有帮助。在此示例中,它仅成功运行,但不输出任何内容。而且我不知道这是什么问题。
请帮忙。谢谢!
您可以使用以下命令生成日期列表:
select a.Date, s.* from ( select curdate() + INTERVAL (a.a + (10 * b.a) + (100 * c.a)) DAY as Date from (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as a cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as b cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as c ) a inner join schedule s on a.Date >= s.fromDate and a.Date <= s.toDate
参见带有演示的SQL Fiddle