El mejor tipo de datos para almacenar valores de moneda en una base de datos MySQL
¿Cuál es el mejor tipo de datos SQL para valores de moneda? Estoy usando MySQL pero preferiría un tipo de base de datos independiente.
Algo así Decimal(19,4)
suele funcionar bastante bien en la mayoría de los casos. Puede ajustar la escala y la precisión para satisfacer las necesidades de los números que necesita almacenar. Incluso en SQL Server, tiendo a no utilizar " money
" porque no es estándar.
Lo único que debe tener en cuenta es que si migra de una base de datos a otra, puede encontrar que DECIMAL(19,4) y DECIMAL(19,4) significan cosas diferentes.
( http://dev.mysql.com/doc/refman/5.1/en/precision-math-decimal-changes.html )
DBASE: 10,5 (10 entero, 5 decimal) MYSQL: 15,5 (15 dígitos, 10 enteros (15-5), 5 decimales)
También es importante calcular cuántos decimales pueden ser necesarios para sus cálculos.
Trabajé en una aplicación de precio de acciones que requería calcular el precio de un millón de acciones. El precio cotizado de las acciones debía almacenarse con una precisión de 7 dígitos.