¿Qué significa exactamente M, D en decimal (M, D) exactamente?
Pregunta
¿Alguien sabe sobre esto?
Solución
Como los documentos dicen :
M es el número máximo de dígitos (el precisión). Tiene un rango de 1 a 65. (Las versiones anteriores de MySQL permitían un rango de 1 a 254.)
D es el número de dígitos a la derecha del punto decimal (la escala). Eso tiene un rango de 0 a 30 y no debe ser más grande que M.
Entonces M representa Máximo (número de dígitos en general), D representa Decimales (número de dígitos a la derecha del punto decimal).
Otros consejos
https: //dev.mysql .com / doc / refman / 5.7 / es / precision-math-decimal-features.html
La sintaxis de declaración para una columna DECIMAL es DECIMAL (M, D). Los rangos de valores para los argumentos en MySQL 5.1 son los siguientes:
- M es el número máximo de dígitos (la precisión). Tiene un rango de 1 a 65. (Las versiones anteriores de MySQL permitían un rango de 1 a 254.)
- D es el número de dígitos a la derecha del punto decimal (la escala). Tiene un rango de 0 a 30 y no debe ser mayor que M.
[Nota: el enlace anterior se ha actualizado para que apunte a los documentos MySQL 5.7, pero el texto fue citado de los documentos MySQL 5.1.]
El doc dice :
La sintaxis de declaración para una columna DECIMAL sigue siendo DECIMAL (M, D), aunque el rango de valores para los argumentos ha cambiado algo:
M es el número máximo de dígitos (la precisión). Tiene un rango de 1 a 65. Esto introduce una posible incompatibilidad para aplicaciones antiguas, porque las versiones anteriores de MySQL permiten un rango de 1 a 254. (La precisión de 65 dígitos se aplica realmente a partir de MySQL 5.0.6. Desde 5.0.3 a 5.0.5, la precisión es de 64 dígitos.)
D es el número de dígitos a la derecha del punto decimal (la escala). Tiene un rango de 0 a 30 y no debe ser mayor que M.