创建一个包含日期的临时表

Xav*_*ver 2 mysql

如何创建临时表并用某些日期填充它。我知道开始日期和“限制”

  • 开始日期= 2014-11-11
  • 限制= 3

表应该看起来像

2014-11-11
2014-11-12
2014-11-13
Run Code Online (Sandbox Code Playgroud)

我喜欢使用这个创建表将其与另一个创建表连接起来

Abh*_*rty 5

您可以生成动态日期,然后将它们插入到表中,如下所示。我使用了一个表而不是临时表,你可以将其更改为临时表。

CREATE TEMPORARY TABLE IF NOT EXISTS dates_test
(dates datetime);


insert into dates_test (dates)
select 
t1.date
from
(
  select
  a.Date as date
  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
  where a.Date BETWEEN '2014-11-11' 
  and
  DATE_ADD('2014-11-11' ,INTERVAL 3 DAY)
)t1
Run Code Online (Sandbox Code Playgroud)

这是一个演示