MySQL显示范围之间的所有日期
:
从日期范围生成天数
(29个答案)
7年前关闭。
我想显示a from
和to
MySQL中的日期之间的所有日期。
例如schedule
,具有from
和to
字段的表中的数据为:
from
日期是2013-3-13
和
to
日期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
以上是 MySQL显示范围之间的所有日期 的全部内容, 来源链接: utcz.com/qa/430855.html