如何在 sql 服务器中的两个日期之间不四舍五入地找到确切的分钟数

How can I find exact number of minutes without rounding between two dates in sql server

我是 Sql 服务器的新手,我尝试了几次 datediff 但都失败了。我只需要准确或准确的分钟数,包括两个日期之间的分数。例如,如果两个日期时间字段之间的间隔是 40 秒,那么它会给我 0.67 分钟而不是 1 分钟。请帮忙。

取秒差除以 60.0:

select datediff(second, date1, date2) / 60.0 as diff_in_minutes

对于大多数工作来说,这应该足够接近了。如果你真的想要,你可以使用毫秒而不是秒。

select datediff(millisecond, date1, date2) / 60000.0 as diff_in_minutes

获取 MILLISECOND 精确值

DECLARE @D1 DATETIME = '2015-04-16 21:38:02.610'
DECLARE @D2 DATETIME = '2015-04-16 21:38:29.023'


SELECT DATEDIFF(MILLISECOND, @D1, @D2)* 1.000 / ((1.66667) * POWER(10,5))


RESULT: 0.158477683044633910732