Eigenlijk geeft de VB.NET-expressie u de juiste waarden terug sinds het totale aantal hours is niet gelijk aan 48 .Vandaar dat het 1 teruggeeft
In SQL Server retourneert de functie DateDiff een afrondingswaarde.
Probeer de waarde te delen door het totale aantal seconden in de dag, dat is 86400.0
SELECT @Date1, @Date2, DATEDIFF(ss,@Date1,@Date2) /86400.0
De geretourneerde waarde is 1.9999421 in plaats van 2
Het verschil tussen de 2 datums in seconden is 172795 wat kleiner is dan 172800 (Totaal seconden voor 2 dagen). Daarom zou de functie slechts 1 moeten retourneren als u het resultaat niet afrondt