sql >> Database >  >> RDS >> Mysql

Maak een tijdelijke tabel met datums

U kunt de dynamische datums genereren en deze vervolgens in de onderstaande tabel invoegen. Ik heb een tabel gebruikt in plaats van een tijdelijke tabel, u kunt deze wijzigen in een tijdelijke tabel.

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

Hier is een demo




  1. MySQL:SELECTEER van een andere server

  2. Een databasemodel voor een MOOC-platform

  3. 3 manieren om een ​​reeks van meerdere spaties in SQL Server te retourneren

  4. Postgres - hoe rijen met 0-tellingen te retourneren voor ontbrekende gegevens?