El mejor tipo de datos para almacenar valores de moneda en una base de datos MySQL

Resuelto Brian Fisher asked hace 15 años • 10 respuestas

¿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.

Brian Fisher avatar Mar 10 '09 08:03 Brian Fisher
Aceptado

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.

Kibbee avatar Mar 10 '2009 01:03 Kibbee

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)
SeanJA avatar Mar 10 '2009 02:03 SeanJA

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.

Leah avatar Mar 10 '2009 02:03 Leah