嗨,我正在尝试在SQL Server中填写一年中每一分钟的日期时间。我在下面找到了代码,该代码很好地填充了一年中的所有日期。我想知道是否有一种简单的方法可以进行修改以使日期时间精确到分钟。
Code:
declare @datestart date = '2010-1-1', @dateend date = '2016-10-31'
declare @days int = datediff(d,@datestart,@dateend)
select
dateadd(d, number, @datestart)
from master..spt_values
where type='p'
and number<=@days
扩展您最初尝试处理会议记录的尝试很容易。根据您打算执行此操作的频率,您可能需要优化方法。我认为一个简单的循环足以满足您的需求。
create table #minutes (dt datetime not null);
declare @datestart datetime = '2016-01-01 00:00', @dateend datetime = '2016-01-03 23:59';
while @datestart <= @dateend
begin
insert into #minutes (dt)
select dateadd(minute, number, @datestart)
from master..spt_values
where
type = 'p' and number between 0 and 1439
and dateadd(minute, number, @datestart) <= @dateend;
set @datestart = dateadd(minute, 1440, @datestart);
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句