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

Bagaimana cara menghasilkan interval menit antara dua tanggal di T-SQL?

Anda dapat menggunakan kueri rekursif seperti ini :

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL LocalDB vs SQL Server CE

  2. LEFT() vs SET TEXTSIZE di SQL Server:Apa Bedanya?

  3. Pemecahan Masalah Hibah Memori Variabel di SQL Server

  4. Kinerja SQL:WHERE vs WHERE(ROW_NUMBER)

  5. Forum Kinerja SQL Server Terbaik untuk Bantuan pada Pertanyaan Terberat