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

Jak generovat minutové intervaly mezi dvěma daty v T-SQL?

Můžete použít rekurzivní dotaz takto:

declare @intervalMinutes int = 10
declare @myDates table (
myId int primary key identity,
startTime datetime,
endTime datetime
)

DECLARE @startTime DATETIME = '2016-07-10 08:00'
DECLARE @endTime DATETIME = '2016-07-10 09:00'

;WITH CTE AS
(
    SELECT  @startTime st
    UNION   ALL
    SELECT  dateadd(MINUTE,@intervalMinutes,st) st
    FROM    cte
    where   dateadd(MINUTE,@intervalMinutes,st) < @endTime
)
INSERT INTO @myDates(startTime,endTime)
SELECT st,dateadd(MINUTE,@intervalMinutes,st) FROM cte

SELECT  * FROm @myDates


  1. Vyhledejte rozsah souřadnic zeměpisné šířky/délky

  2. vyberte sloupec jako true / false, pokud id existuje v jiné tabulce

  3. Jak importovat soubor CSV v PostgreSQL

  4. Jak filtrovat objekty v SQL Server Management Studio (SSMS) - SQL Server / TSQL výukový program, část 19