Mysql
 sql >> база данни >  >> RDS >> Mysql

защо заявката sum() връща резултат с повече десетични точки?

float типът данни не представлява числа с десетични цифри. Той представлява числа с двоичен код, така че двоичните цифри в числата представляват степени на две, като 16, 8, 4, 2, 1, ½, ¼, ⅛ и т.н.

Числата, показани като „272,7“, „0,55“ и т.н., не са точни представяния на съхранените стойности. Например числото, показано като „272.7“, всъщност може да бъде 272.70001220703125.

Правилата, използвани за форматиране на числата за изход, може да скрият тези разлики от вас, като използвате по-малко от всички цифри, необходими за показване на точната стойност.

Когато добавите тези числа, разликите между действителните числа и близките десетични представяния може да нараснат или да се свият в зависимост от случайните вариации между разликите. Сумата, която виждате, е естествен резултат от тези допълнения.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Sum() множество колони

  2. MySQL добавя низ

  3. Как да получа SQL база данни в R от локален хост?

  4. Актуализирайте ранга в MySQL таблица

  5. Как да обедините данни от няколко колони в една? [Заявка за модел на списък със съседство]