需要时间间隔的tsql代码,且值应指向原始时间为历元格式的特定间隔
我必须向表中添加列。 列值是基于表中已存在的列计算的 我必须让时间戳列已经存在,然后将它们分组为5分钟的时间段 例如:如果时间是: 13:03/13:02那么应该是13:00; 13:53/13:52那么应该是13:50; 13:21那么应该是13:20,以此类推需要时间间隔的tsql代码,且值应指向原始时间为历元格式的特定间隔,tsql,Tsql,我必须向表中添加列。 列值是基于表中已存在的列计算的 我必须让时间戳列已经存在,然后将它们分组为5分钟的时间段 例如:如果时间是: 13:03/13:02那么应该是13:00; 13:53/13:52那么应该是13:50; 13:21那么应该是13:20,以此类推 PS:基本上我必须以epoch UNIX time stampformat获取时间戳[表中有epoch和常规时间戳的值]所以我看到的是,你有时间,你需要将它们四舍五入到最接近的5分钟增量。试试这个: DECLARE @table TA
PS:基本上我必须以epoch UNIX time stampformat获取时间戳[表中有epoch和常规时间戳的值]所以我看到的是,你有时间,你需要将它们四舍五入到最接近的5分钟增量。试试这个:
DECLARE @table TABLE (times TIME)
INSERT INTO @table
VALUES ('13:03'),
('13:02'),
('13:53'),
('13:52'),
('13:21');
SELECT times,
DATEADD(MINUTE,-DATEDIFF(MINUTE,0,times) % 5,times) five_minute_increments
FROM @table
结果:
times five_minute_increments
---------------- ----------------------
13:03:00.0000000 13:00:00.0000000
13:02:00.0000000 13:00:00.0000000
13:53:00.0000000 13:50:00.0000000
13:52:00.0000000 13:50:00.0000000
13:21:00.0000000 13:20:00.0000000
12:05:00.0000000
纪元版
结果:
times five_minute_increments
---------------- ----------------------
13:03:00.0000000 13:00:00.0000000
13:02:00.0000000 13:00:00.0000000
13:53:00.0000000 13:50:00.0000000
13:52:00.0000000 13:50:00.0000000
13:21:00.0000000 13:20:00.0000000
12:05:00.0000000
由于历元是以秒为单位测量的,所以它的模数为300秒五分钟,然后我将它转换为日期时间,这样您就可以看到结果了。很高兴为您提供帮助!请随意标记我的答案,以便其他人知道它有效,并且您的问题已得到回答。