Mysql
 sql >> Base de données >  >> RDS >> Mysql

mysql sélectionne les dates sans tables

Je suis d'accord avec les commentaires, que quelque chose comme ça ne devrait pas être fait dans la base de données, mais techniquement c'est possible. Si vous donnez la date de début et de fin, ajoutez des numéros supplémentaires à la sous-requête si nécessaire :

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

Résultats :

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