Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Utwórz tabelę tymczasową z datami

Możesz wygenerować dynamiczne daty, a następnie wstawić je do tabeli, jak poniżej. Użyłem tabeli zamiast tabeli tymczasowej, możesz ją zmienić na tabelę tymczasową.

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

Oto demo




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy w przypadku kluczy obcych preferowane jest string czy int?

  2. Jak prawidłowo obsłużyć zakleszczenia InnoDB w Java/JDBC?

  3. Jak naprawić wyjątek java.sql.SQLException:Nie znaleziono kolumny „id”. błąd w Spring Boot

  4. Jak wyświetlić wiersze tabeli z bazy danych (php)

  5. Połączyć tabele w dwóch różnych bazach danych?