sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server DateDiff vs .Net DateDiff

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



  1. filtrera en sökning med alternativknappen PHP SQL

  2. Vad är SYSNAME-datatyp i SQL Server?

  3. Hur hoppar man över med andra ytterligare poster när tillståndet uppnåtts?

  4. Alternativa Oracle-drivrutiner för .net