通过设置间隔时间,获取输入时间范围内,每个时间间隔的开始时间和结束时间(表值函数)

参数说明:
@spanTime——时间间隔(min)
@beginTime——开始时间(DATETIME)
@endTime——结束时间(DATETIME)
USE [自己的数据库名] GO /****** Object: UserDefinedFunction [dbo].[GetTimeSpanList] Script Date: 2021/2/5 10:35:45 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /*========================================================= 创建人:LJF 描 述:通过设置间隔时间,获取输入时间范围内,每个时间间隔的开始时间和结束时间。 测 试:SELECT * FROM [dbo].[GetTimeSpanList](30,'2020-06-10 20:00:00','2020-06-12 20:00:00') =========================================================*/ CREATE FUNCTION [dbo].[GetTimeSpanList]( @spanTime int=30, @beginTime VARCHAR(20)='2020-06-10 20:00:00', @endTime VARCHAR(20)='2020-06-12 20:00:00' ) RETURNS @Array TABLE ( BeginTime DATETIME, EndTime DATETIME ) AS BEGIN INSERT INTO @Array (BeginTime,EndTime) SELECT DATEADD(n, (number-1)*@spanTime, CONVERT(CHAR(20), @beginTime,120)) AS BeginTime, DATEADD(n, (number)*@spanTime, CONVERT(CHAR(20), @beginTime,120)) AS EndTime FROM master..spt_values WHERE type = 'p' AND number BETWEEN 1 AND DATEDIFF(HOUR,@beginTime,@endTime)*2 RETURN; END

浙公网安备 33010602011771号