Mysql
 sql >> Database >  >> RDS >> Mysql

Query SQL che restituisce una tabella in cui ogni riga rappresenta una data in un determinato intervallo

AFAIK non puoi farlo con una singola query SQL. Tuttavia, il seguente blocco di codice farà il lavoro.

Attualmente in Transact-SQL (per SQL Server). Non so come questo si traduca in 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

Questo produce:

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