Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Truy vấn SQL trả về một bảng trong đó mỗi hàng đại diện cho một ngày trong một phạm vi nhất định

AFAIK bạn không thể làm điều đó với một truy vấn SQL duy nhất. Tuy nhiên, khối mã sau sẽ thực hiện công việc.

Hiện đang có trong Transact-SQL (dành cho SQL Server). Tôi không biết cách này chuyển sang 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

Kết quả này:

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. cách lưu trữ ngôn ngữ Ấn Độ như Telugu, Hindi trong cơ sở dữ liệu mysql

  2. thiết kế ngược cơ sở dữ liệu mysql để tạo ứng dụng django

  3. Cài đặt luaSQL trên Ubuntu

  4. MYSQLI loại câu lệnh bind_param chuẩn bị không hoạt động

  5. MySQL nhận vị trí hàng trong ORDER BY