Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie SQL, które zwraca tabelę, w której każdy wiersz reprezentuje datę z danego zakresu

AFAIK nie możesz tego zrobić za pomocą pojedynczego zapytania SQL. Jednak poniższy blok kodu wykona zadanie.

Obecnie w Transact-SQL (dla SQL Server). Nie wiem, jak to się przekłada na 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

To wyprowadza:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JPA:relacja wiele do wielu — JsonMappingException:Nieskończona rekurencja

  2. MySQL5.6 utknął w procesie próbującym uruchomić usługę

  3. walidacja i dodawanie danych do tabeli db

  4. MySQL:lista sum dla kilku warunków w jednej instrukcji SQL

  5. MYSQL, bardzo powolne zamawianie przez