Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

mysql selecionar datas sem tabelas


Concordo com os comentários, que algo assim não deve ser feito no banco de dados, mas tecnicamente é possível. Se você fornecer a data de início e término, adicione números adicionais à subconsulta, se necessário:
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

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