Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Tipo de dados MySql FLOAT e problemas com escala de mais de 7 dígitos


Palma da cara!!!!

Floats são números de 32 bits armazenados como mantissa e expoentes. Não tenho 100% de certeza de como o MySql dividirá o armazenamento, mas, tomando Java como exemplo, eles usariam 24 bits para uma mantissa assinada e 8 bits para um expoente (notação científica). Isso significa que o valor máximo que um FLOAT pode ter é +8388608*10^127 e o mínimo é -8388608*10^127. Isso significa apenas 7 dígitos significativos, e minha definição FLOAT usou 8.

Vamos mudar todos esses 8,2 para DOUBLE de FLOAT.