W rzeczywistości wyrażenie VB.NET zwraca prawidłowe wartości, ponieważ łączna liczba hours
nie jest równe 48
.Stąd zwraca 1
W SQL Server funkcja DateDiff zwraca wartość zaokrąglenia.
Spróbuj podzielić wartość przez całkowitą liczbę sekund w ciągu dnia, czyli 86400.0
SELECT @Date1, @Date2, DATEDIFF(ss,@Date1,@Date2) /86400.0
Zwrócona wartość to 1.9999421
zamiast 2
Różnica między datą 2 w sekundach to 172795
czyli mniej niż 172800
(Całkowita liczba sekund przez 2 dni). Dlatego funkcja powinna zwracać tylko 1, jeśli nie zaokrąglasz wyniku