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

mysql wybierz daty bez tabel

Zgadzam się z komentarzami, że czegoś takiego nie powinno się robić w bazie danych, ale technicznie jest to możliwe. Jeśli podasz datę rozpoczęcia i zakończenia, w razie potrzeby dopisz dodatkowe numery do podzapytania:

SELECT '2011-02-01' + INTERVAL a + b DAY dte
FROM
 (SELECT 0 a UNION SELECT 1 a UNION SELECT 2 UNION SELECT 3
    UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7
    UNION SELECT 8 UNION SELECT 9 ) d,
 (SELECT 0 b UNION SELECT 10 UNION SELECT 20 
    UNION SELECT 30 UNION SELECT 40) m
WHERE '2011-02-01' + INTERVAL a + b DAY  <  '2011-03-01'
ORDER BY a + b

Wyniki:

"2011-02-01"
"2011-02-02"
"2011-02-03"
....
"2011-02-28"


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Unia MySql SELECT dla różnych kolumn?

  2. Wstaw/aktualizuj funkcję pomocniczą za pomocą PDO

  3. Komendy MySqli nie są zsynchronizowane; nie możesz teraz uruchomić tego polecenia

  4. Dołącz do stołów z dwóch różnych serwerów

  5. Jak działa funkcja LPAD() w MySQL