誰かがこれで私を助けることができるかどうかだけ疑問に思います。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が返されますが、これは正しくありません。
どんな助けでも大歓迎です。