sql >> Database >  >> RDS >> Sqlserver

SQL Server DateDiff versus .Net DateDiff

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



  1. Hoe meerdere rijen te selecteren op primaire sleutel met meerdere kolommen in MySQL?

  2. MySQL:hoe te converteren naar EAV?

  3. Hoe veilig te ontsnappen aan de invoergegevens in php voor mysql

  4. Twee dubbele indexen met dezelfde kolommen