我有一个日期时间列,其中包含日期时间值的范围。我想用所有这些日期时间值创建另一列,但要向下舍入到十分钟时间段。
所以,像这样:
datetimesent | ten_minute_column
2012-06-11 18:27:58.000 | 2012-06-11 18:20:00.000
2012-06-15 15:19:08.000 | 2012-06-15 15:10:00.000
... |
我能做的最远的事情就是把它放入分钟桶槽中。 我通过这样做得到了这个:
SELECT DatetimeSent,
DATEADD(Minute, DATEDIFF(Minute, 0, DatetimeSent), 0) AS Minute_bucket
FROM allrequests
但我需要十分钟的桶时段。
最佳答案
试试这个:
select dateadd(minute, datepart(minute, datetimesent) / 10 * 10,
dateadd(hour, datediff(hour, 0,datetimesent), 0)) ten_minute_column
from
(select cast('2012-06-11 18:27:58.000' as datetime) datetimesent
union all
select cast('2012-06-15 15:19:08.000' as datetime)) a
关于sql - 从一系列日期时间中获取十分钟间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11193520/