Всъщност VB.NET изразът ви връща правилните стойности, тъй като общият брой hours не е равно на 48 .Следователно връща 1
В SQL Server функцията DateDiff връща закръглена стойност.
Опитайте да разделите стойността на общия брой секунди в деня, който е 86400.0
SELECT @Date1, @Date2, DATEDIFF(ss,@Date1,@Date2) /86400.0
Върнатата стойност ще бъде 1.9999421 вместо 2
Разликата между 2-те дати в секунди е 172795 което е по-малко от 172800 (Общо секунди за 2 дни). Следователно функцията трябва да връща само 1, ако не закръгляте резултата