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

Zachowanie SQL Server Dziwny sufit ()

Myślę, że nazywa się to precyzją zmiennoprzecinkową. Można go znaleźć w prawie wszystkich językach programowania, a także w bazie danych. Dzieje się tak dlatego, że dane są przechowywane tylko z pewną precyzją i tak naprawdę to ustawiasz jako 8.31 prawdopodobnie nie jest 8.31 ale na przykład 8.31631312381813 a kiedy pomnożymy ją i zatrzymamy, może to spowodować pojawienie się innej wartości.

Na stronie dokumentacji serwera SQL możesz przeczytać:

W innych systemach bazodanowych ten sam problem występuje. Na przykład na stronie mysql możesz przeczytać:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Eksportuj zestaw wyników procedury składowanej do programu Excel w programie SSMS

  2. Jak działa funkcja NCHAR() w SQL Server (T-SQL)

  3. Uzyskaj rekordy zawierające wszystkie rekordy podrzędne na serwerze sql

  4. Jaka jest kolejność wykonywania tej instrukcji SQL?

  5. SQL Server CTE i przykład rekurencji