Saltar al contenido

El mejor tipo de datos para almacenar valores monetarios en MySQL

Solución:

Dado que el dinero necesita una representación exacta, no utilice tipos de datos que solo sean aproximados, como float. Puede usar un tipo de datos numéricos de punto fijo para eso, como

decimal(15,2)
  • 15 es la precisión (longitud total del valor, incluidos los decimales)
  • 2 es el número de dígitos después del punto decimal

Consulte los tipos numéricos de MySQL:

Estos tipos se utilizan cuando es importante preservar la precisión exacta, por ejemplo, con monetario datos.

Puedes usar DECIMAL o NUMERIC ambos son lo mismo

Los tipos DECIMAL y NUMERIC almacenan valores de datos numéricos exactos. Estos tipos se utilizan cuando es importante preservar la precisión exacta, por ejemplo, con datos monetarios. En MySQL, NUMERIC se implementa como DECIMAL, por lo que las siguientes observaciones sobre DECIMAL se aplican igualmente a NUMERIC. : MySQL

es decir DECIMAL(10,2)

Configuraciones de ejemplo

Buena lectura

Yo prefiero usar BIGINTy almacenar los valores en por multiplicar por 100, de modo que se convierta en un número entero.

Por ejemplo, para representar un valor monetario de 93.49, el valor se almacenará como 9349, mientras mostramos el valor podemos dividir por 100 y pantalla. Esto ocupará menos espacio de almacenamiento.

Precaución:

La mayoría de las veces no actuamos currency * currency multiplicación, en caso de que lo estemos haciendo entonces dividir el resultado con 100 y almacenar, para que vuelva a la precisión adecuada.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *