Mysql
 sql >> база данни >  >> RDS >> Mysql

SQL заявка, която връща таблица, където всеки ред представлява дата в даден диапазон

AFAIK не можете да направите това с една SQL заявка. Следният блок от код обаче ще свърши работа.

В момента в Transact-SQL (за SQL Server). Не знам как се превежда това на 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

Това извежда:

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. MYSQL неправилен формат на DATETIME

  2. Опцията ON DELETE CASCADE не се генерира при използване на генериране на ddl схема на Mysql

  3. MYSQL Inner Свързване на две таблици върху два ключа

  4. Опитвам се да „извикам“ съхранени процедури с CodeIgniter

  5. Как да създадете попълнено MySQL Docker изображение по време на изграждане