Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comportement SQL Server Strange Ceiling()

Je pense que cela s'appelle la précision flottante. Vous pouvez le trouver dans presque tous les langages de programmation et dans Database également. En effet, les données ne sont stockées qu'avec une certaine précision et en fait ce que vous avez défini comme 8.31 n'est probablement pas 8.31 mais par exemple 8.31631312381813 et lorsque vous le multipliez et que vous le multipliez, cela peut entraîner l'apparition d'une valeur différente.

Sur la page de documentation du serveur SQL vous pouvez lire :

Dans d'autres systèmes de base de données, le même problème existe. Par exemple sur site Web mysql vous pouvez lire :