Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Dapatkan setiap jam untuk rentang waktu

Tidak diperlukan loop, CTE rekursif, atau tabel angka.

DECLARE 
  @start TIME(0) = '11:00 AM', 
  @end   TIME(0) =  '2:00 PM';

WITH x(n) AS 
(
  SELECT TOP (DATEDIFF(HOUR, @start, @end) + 1) 
  rn = ROW_NUMBER() OVER (ORDER BY [object_id]) 
  FROM sys.all_columns ORDER BY [object_id]
)
SELECT t = DATEADD(HOUR, n-1, @start) FROM x ORDER BY t;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menjatuhkan tabel jika ada?

  2. Bisakah Anda memiliki logika if-then-else dalam SQL?

  3. Apa jenis SQL yang benar untuk menyimpan .Net Timespan dengan nilai> 24:00:00?

  4. Cara Menganalisis Aktivitas Satu Database di SQL Server

  5. Pemicu SQL Server:Pemicu DML