sql >> Databasteknik >  >> RDS >> Mysql

MySql FLOAT datatyp och problem med mer än 7-siffrig skala

Face Palm!!!!

Floats är 32-bitars nummer lagrade som mantissa och exponenter. Jag är inte 100% säker på hur MySql kommer att dela upp lagringen men med Java som exempel skulle de använda 24 bitar för en signerad mantissa och 8 bitar för en exponent (vetenskaplig notation). Detta betyder att det maximala värdet en FLOAT kan ha är +8388608*10^127 och det lägsta är -8388608*10^127. Detta betyder bara 7 signifikanta siffror, och min FLOAT-definition använde 8.

Vi kommer att byta alla dessa 8,2 till DOUBLE från FLOAT.



  1. Uppdatera fråga med LEFT JOIN , Variable och Autoincrement med MySQL

  2. För många automatiska ökningar med PÅ DUBLIKAT UPPDATERING AV KEY

  3. Hur TIMESTAMPDIFF() fungerar i MariaDB

  4. MySQL GROUP BY DateTime +/- 3 sekunder