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

Requête SQL qui renvoie une table où chaque ligne représente une date dans une plage donnée

AFAIK, vous ne pouvez pas le faire avec une seule requête SQL. Cependant, le bloc de code suivant fera l'affaire.

Actuellement en Transact-SQL (pour SQL Server). Je ne sais pas comment cela se traduit par MySQL.

DECLARE @start datetime
DECLARE @end datetime
DECLARE @results TABLE
(
   val datetime not null
)
set @start = '2008-10-01'
set @end = getdate()
while @start < @end
begin
    insert into @results values(@start)
    SELECT @start = DATEADD (d, 1, @start)
end
select val from @results

Cela affiche :

2008-10-01 00:00:00.000
2008-10-02 00:00:00.000
2008-10-03 00:00:00.000