Всъщност 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, ако не закръгляте резултата