Я работаю над чем-то, в чем мне нужно получить все даты с часами между двумя датами. Ниже приведен пример того, что я пробовал до сих пор и что на самом деле мне нужно -:
declare @sTime datetime = '03/03/2019 02:00:00.000'
declare @stopTime datetime = '01/01/3000 02:00:00.000'
declare @interval int = 60
declare @temp_time datetime
declare @tempHourtb ( StartTime datetime not null, StopTime datetime
not null)
select @temp_time = @sTime
while(datediff(hh, @temp_time, @stopTime) > 0)
begin
insert into @HourTable
select @temp_time,dateadd(mi, @interval, @temp_time)
set @temp_time = dateadd(mi, @interval, @temp_time)
end
select * from @tempHourtb
И это дает мне следующий вывод, который является правильным -:
Но проблема, с которой я сталкиваюсь, это слишком много времени, когда у меня большой разрыв между датой начала и окончания. Есть ли способ получить такой же результат, но за меньшее время?