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