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

¿Debo almacenar un campo PRECIO como int o como float en la base de datos?

Interesante pregunta.

En realidad, no elegiría flotar en el entorno mysql. Demasiados problemas en el pasado con precisión con ese tipo de datos.

Para mí, la elección sería entre int y decimal(18,4) .

He visto ejemplos del mundo real de enteros utilizados para representar valores de punto flotante. Las partes internas de las tablas de datos de JD Edwards hacen esto. Las cantidades generalmente se dividen por 10000. Si bien estoy seguro de que es más rápido y más pequeño en la tabla, solo significa que siempre tenemos que CAST los enteros a un valor decimal si queremos hacer algo con ellos, especialmente división.

Desde una perspectiva de programación, siempre preferiría trabajar con decimal por precio (o money en RDBMS que lo admitan).