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

SQL Query som returnerer en tabel, hvor hver række repræsenterer en dato i et givet interval

AFAIK kan du ikke gøre det med en enkelt SQL-forespørgsel. Den følgende kodeblok vil dog gøre jobbet.

I øjeblikket i Transact-SQL (til SQL Server). Jeg ved ikke, hvordan dette oversættes til 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

Dette udsender:

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


  1. JDBC Oracle - Hent forklaringsplan for forespørgsel

  2. DateTimeField modtog et naivt datetime

  3. SUM med et pivot for at beregne den samlede score

  4. Hvilken version af PostgreSQL kører jeg?