Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Otrzymuj co godzinę przez określony czas

Nie są wymagane żadne pętle, rekurencyjne CTE ani tabela liczb.

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. NOT IN (podzapytanie) dające zero wierszy

  2. Jak utworzyć bazę danych w SQL Server za pomocą TSQL lub GUI — SQL Server / TSQL Tutorial, część 24

  3. Jak używać interfejsu API SSIS do odczytywania pakietu i określania sekwencji zadań z kodu (PrecedenceConstraints)

  4. Jak mogę sklonować bazę danych SQL Server na tym samym serwerze w SQL Server 2008 Express?

  5. aktualizacja sql z dynamicznymi nazwami kolumn