【发布时间】:2014-03-05 14:04:41
【问题描述】:
我想以特定时间间隔显示信息,例如 5、10、15 分钟等。
但对于给定的 DateTime,我想“向上取整”到此间隔的下一个值
例如
declare @dateTime datetime = '2014-03-05 18:37';
select getNextDateTimeForInterval(@dateTime, 60); --> 2014-03-05 19:00
select getNextDateTimeForInterval(@dateTime, 30); --> 2014-03-05 19:00
select getNextDateTimeForInterval(@dateTime, 20); --> 2014-03-05 18:40
select getNextDateTimeForInterval(@dateTime, 15); --> 2014-03-05 18:45
select getNextDateTimeForInterval(@dateTime, 10); --> 2014-03-05 18:40
select getNextDateTimeForInterval(@dateTime, 5); --> 2014-03-05 18:40
select getNextDateTimeForInterval(@dateTime, 1); --> 2014-03-05 18:38
有没有聪明的方法来做到这一点?我只提出了仅适用于其中一些情况的解决方案。
【问题讨论】:
标签: sql sql-server tsql datetime