sql >> Base de Datos >  >> RDS >> Mysql

mysql seleccionar fechas sin tablas

Estoy de acuerdo con los comentarios, que algo como esto no debería hacerse en la base de datos, pero técnicamente es posible. Si proporciona la fecha de inicio y finalización, agregue números adicionales a la subconsulta si es necesario:

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"