VB.NET-uttrycket returnerar faktiskt de korrekta värdena eftersom det totala antalet hours
är inte lika med 48
.Därför returnerar den 1
I SQL Server returnerar funktionen DateDiff ett avrundningsvärde .
Prova att dividera värdet med det totala antalet sekunder på dagen, vilket är 86400.0
SELECT @Date1, @Date2, DATEDIFF(ss,@Date1,@Date2) /86400.0
Det returnerade värdet kommer att vara 1.9999421
istället för 2
Skillnaden mellan de två datumen i sekunder är 172795
vilket är mindre än 172800
(Totalt sekunder för 2 dagar). Därför bör funktionen endast returnera 1 om du inte avrundar resultatet