Mysql
 sql >> Datenbank >  >> RDS >> Mysql

SQL-Abfrage, die eine Tabelle zurückgibt, in der jede Zeile ein Datum in einem bestimmten Bereich darstellt

AFAIK Sie können das nicht mit einer einzigen SQL-Abfrage tun. Der folgende Codeblock erledigt jedoch die Aufgabe.

Derzeit in Transact-SQL (für SQL Server). Ich weiß nicht, wie das in MySQL übersetzt wird.

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

Dies gibt aus:

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