【发布时间】:2021-05-13 12:24:45
【问题描述】:
我需要在 SQL Server 中将时间四舍五入到最近的四分之一。
例如:
-
'2016-11-06 13:12:23.000' --> '2016-11-06 13:15:00.000'
-
'2016-11-06 13:06:23.000' --> '2016-11-06 13:00:00.000'
到目前为止我已经尝试过了
declare @var datetime = '2016-11-06 13:12:35.000'
select @var as original_time
select
dateadd(minute, datediff(minute, 0, @var) / 15 * 15,
iif(datediff(minute, 0, @var) % 15.0 < 7.5, 0,
iif(datediff(minute, 0, @var) % 15.0 < 21.0, 15, 30 ) ))
输出:
预期的结果是 '2016-11-06 13:15:00.000' 但这是我得到的输出。
我在尝试之前提到了this question。
【问题讨论】:
-
您是向上还是向下舍入,还是只取最接近的值?
标签: sql-server datetime ssms