Para obtener dinámicamente las fechas dentro de un intervalo de fechas utilizando SQL se puede hacer esto (ejemplo en MySQL):
Crear una tabla para guardar los números del 0 al 9.
CREATE TABLE ints (i tinyint(4));
insert into ints (i)
values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
ejecutar una consulta de este modo:
select ((curdate() - interval 2 year) + interval (t.i * 100 + u.i * 10 + v.i) day) AS Date
from
ints t
join ints u
join ints v
having Date between '2015-01-01' and '2015-05-01'
order by t.i, u.i, v.i
Esto generará todas las fechas entre 1 de enero de 2015 y 1 de mayo de 2015.
Output
2015-01-01
2015-01-02
2015-01-03
2015-01-04
2015-01-05
2015-01-06
...
2015-05-01
La consulta se une a la tabla ints 3 veces y obtiene un número creciente (0 a 999). A continuación, agrega este número como un intervalo de días a partir de una fecha determinada, en este caso una fecha hace 2 años. Cualquier rango de fechas de hace 2 años y 1,000 días puede obtenerse con el ejemplo anterior. Para generar una consulta que genere fechas por más de 1,000 días, simplemente únase a la tabla de Ints una vez más para permitir hasta 10,000 días de rango, y así sucesivamente.
Bienvenido a SO ivar. Creo que debe agregar más detalles sobre lo que está consultando y cómo. –
Se necesitarían más detalles ... ¿qué idioma estás usando? ¿Qué sistema es este? – Mala
¿Cuál es el tipo de columna de su fecha? ¿Es una FECHA o un VARCHAR? –