sql >> Databáze >  >> RDS >> Sqlserver

Získejte každou hodinu pro určitý časový rozsah

Nejsou vyžadovány žádné smyčky, rekurzivní CTE nebo číselná tabulka.

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. Výjimka Java Oracle - maximální počet výrazů v seznamu je 1000

  2. Wordpress se nemůže připojit k serveru mysql

  3. Návrh databáze pro hru pro více hráčů/jednoho kvízu

  4. MySQL jsou moje indexy dobré?