sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Server DateDiff vs .Net DateDiff

VB.NET-udtrykket returnerer faktisk de korrekte værdier, da det samlede antal hours er ikke lig med 48 .Derfor returnerer den 1

I SQL Server returnerer funktionen DateDiff en afrundingsværdi .

Prøv at dividere værdien med det samlede antal sekunder på dagen, hvilket er 86400.0

SELECT @Date1, @Date2, DATEDIFF(ss,@Date1,@Date2) /86400.0

Den returnerede værdi vil være 1.9999421 i stedet for 2

Forskellen mellem de 2 dato i sekunder er 172795 hvilket er mindre end 172800 (Samlet sekunder i 2 dage). Derfor bør funktionen kun returnere 1, hvis du ikke runder resultatet af



  1. Sådan hentes værdier fra en normaliseret MySQL 5.7-struktur, der matcher bestemte kriterier

  2. Hvordan vælger man kolonne med statiske værdier?

  3. Er et indeks klynget eller ikke-klynget i Oracle?

  4. Syntaksfejl Manglende nøgleord i kasussætning i WHERE-sætning