四舍五入时间戳



我想区分两个日期,并将结果四舍五入到第二天。

例如,如果我有date1='2020-03-10 11:59:00'date2='2020-03-10 20:53:00',则date1date2datediff()之间的差值等于8小时。我希望将此结果四舍五入为24小时

编辑

我试着这样使用dateadd()

select DATEADD(HOUR, DATEDIFF(HOUR, '2020-03-10 11:59:00', '2020-03-10 20:53:00'),0)

返回的1900-01-02 09:00:00.000与我想要的不一致。

输出的解释一点也不清楚,所以我在这里只是猜测。我正在计算两次约会的天数差。然后加1,因为如果两个日期是同一天,则天数差为0。然后将结果乘以24。我更改了日期文字,使其符合ANSI标准,并且无论本地化或语言设置如何,都将始终获得正确的日期。

declare @date1 datetime = '20201003 11:59:00'
, @date2 datetime = '20201003 20:53:00'
select datediff(day, @date1, @date2) + 1 * 24

最新更新