Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Różnica między datami w programie SQL Server a różnicą daty w programie .Net

W rzeczywistości wyrażenie VB.NET zwraca prawidłowe wartości, ponieważ łączna liczba hours nie jest równe 48 .Stąd zwraca 1

W SQL Server funkcja DateDiff zwraca wartość zaokrąglenia.

Spróbuj podzielić wartość przez całkowitą liczbę sekund w ciągu dnia, czyli 86400.0

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

Zwrócona wartość to 1.9999421 zamiast 2

Różnica między datą 2 w sekundach to 172795 czyli mniej niż 172800 (Całkowita liczba sekund przez 2 dni). Dlatego funkcja powinna zwracać tylko 1, jeśli nie zaokrąglasz wyniku



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak stworzyć wiele jeden do jednego

  2. Dlaczego serwer SQL zgłasza ten błąd:nie można wstawić wartości NULL do kolumny „id”?

  3. Dlaczego SQL Server nie traktuje tego kodu w sposób błędny?

  4. Jak zamienić ciąg w kolumnie tabeli SQL Server?

  5. SQL Server Wystąpiła nieprawidłowa operacja zmiennoprzecinkowa