sql >> Base de Datos >  >> RDS >> Mysql

¿Por qué MySQL devuelve algunos flotantes en notación científica, pero no otros?

Parece haber un límite de seis dígitos en lo que se muestra fuera de la CLI (y probablemente en otros lugares). El ejemplo que tiene es 1.12305e-06, que es 0.00000112305, que se mostraría como 0.00000, aunque claramente no es cero.

Si insiste en usar flotantes o dobles, tendrá que forzarlos usando algo como round(columnName,5) para forzar la visualización en un valor decimal. De lo contrario, tal vez cambie a un tipo de datos decimal.

Desde http://dev.mysql.com/ doc/refman/5.0/en/floating-point-types.html

Debido a que los valores de coma flotante son aproximados y no se almacenan como valores exactos, los intentos de tratarlos como exactos en las comparaciones pueden ocasionar problemas. También están sujetos a dependencias de plataforma o implementación. Para obtener más información, consulte la Sección C.5.5.8, “Problemas con valores de punto flotante

También vea este hilo en los foros de mysql sobre este problema exacto.