sql >> Base de Datos >  >> RDS >> Sqlserver

SQL Server DateDiff frente a .Net DateDiff

En realidad, la expresión de VB.NET le devuelve los valores correctos desde el número total de hours no es igual a 48 .Por lo tanto, está devolviendo 1

En SQL Server, la función DateDiff devuelve un valor de redondeo.

Intente dividir el valor con el número total de segundos en el día, que es 86400.0

SELECT @Date1, @Date2, DATEDIFF(ss,@Date1,@Date2) /86400.0

El valor devuelto será 1.9999421 en lugar de 2

La diferencia entre las 2 fechas en segundos es 172795 que es menor que 172800 (Total de segundos durante 2 días). Por lo tanto, la función debería devolver solo 1 si no redondea el resultado