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

Mysql Wygeneruj każdą datę z listy zakresów dat

Możesz przekonwertować datę na liczby dni za pomocą from_days(), a następnie wykonać sprzężenie wewnętrzne z tabelą tally (z kolejnymi numerami od 1) Numer 730485 to przesunięcie '2000-01-01' ( wybierz from_days('2000-01-01') )

select a.* , from_days(t.tallyid+730485) from 
(
    select 'a' code , '2016-04-19' date1,  '2016-04-21' date2
    union all
    select 'b'code , '2016-04-13' date1,  '2016-04-14' date2
) a
inner join Tally t on t.tallyid between (TO_DAYS(a.date1)-730485) and (TO_DAYS(a.date2)-730485)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ile klauzul where w mysql-query jest za dużo?

  2. Aktualizacja div po kliknięciu przycisku, gdy przycisk jest generowany przez kliknięcie innego przycisku

  3. Połączenie z MySQL z .NET przy użyciu biblioteki SSH.NET

  4. Jak mogę poprawić błąd ładowania MySQL?

  5. SQLSTATE[42000]:Błąd składni lub naruszenie dostępu:1064 Wystąpił błąd w składni SQL — PHP — PDO