需要时间间隔的tsql代码,且值应指向原始时间为历元格式的特定间隔

需要时间间隔的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

我必须向表中添加列。 列值是基于表中已存在的列计算的

我必须让时间戳列已经存在,然后将它们分组为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 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秒五分钟,然后我将它转换为日期时间,这样您就可以看到结果了。很高兴为您提供帮助!请随意标记我的答案,以便其他人知道它有效,并且您的问题已得到回答。