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

SQL Server 2008 Generowanie serii dat i godzin

Użyj rekurencyjnego CTE

declare @StartTime datetime = '2011-07-20 11:00:33',
    @EndTime datetime = '2011-07-20 15:37:34',
    @Interval int = 554 -- this can be changed.

;WITH cSequence AS
(
    SELECT
       @StartTime AS StartRange, 
       DATEADD(SECOND, @Interval, @StartTime) AS EndRange
    UNION ALL
    SELECT
      EndRange, 
      DATEADD(SECOND, @Interval, EndRange)
    FROM cSequence 
    WHERE DATEADD(SECOND, @Interval, EndRange) < @EndTime
)
 /* insert into tmp_IRange */
SELECT * FROM cSequence OPTION (MAXRECURSION 0);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wstawianie niezduplikowanych danych z tabeli nadrzędnej do tabeli podrzędnej w serwerze SQL 2008

  2. Jak podstawić ciąg, jeśli rekord ma wartość NULL w T-SQL?

  3. Unikalny identyfikator (guid) jako klucz podstawowy w projekcie bazy danych

  4. Utwórz kopię zapasową pojedynczej tabeli z jej danymi z bazy danych na serwerze sql 2008

  5. Jak mogę uniknąć używania Cursora do implementacji tego pseudokodu - SQL Server?