只是想知道是否有人可以帮助我。我想将 SQL 日期时间四舍五入到最接近的 5 秒
例如,左边的日期应该在右边给我以下结果。
- 1900-01-01 14:08:20.000 -> 1900-01-01 14:08:20.000
- 1900-01-01 14:08:21.000 -> 1900-01-01 14:08:20.000
- 1900-01-01 14:08:22.000 -> 1900-01-01 14:08:20.000
- 1900-01-01 14:08:23.000 -> 1900-01-01 14:08:25.000
- 1900-01-01 14:08:24.000 -> 1900-01-01 14:08:25.000
- 1900-01-01 14:08:25.000 -> 1900-01-01 14:08:25.000
我已经看到了分钟间隔的类似解决方案,并且我尝试将其应用于秒,但它没有给出理想的结果。
declare @DT datetime
set @DT = convert(datetime,'14:08:20')
select dateadd(s,(datepart(s,dateadd(s,1,@DT))/5)*5,
dateadd(mi,datediff(mi,0,dateadd(s,1,@DT)),0))
但是,1900-01-01 14:08:23.000 给了我 1900-01-01 14:08:20.000,这是不正确的。
任何帮助表示赞赏。