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

¿Cuál es la mejor definición de campo para almacenar un decimal .NET en MySQL?

El decimal .net puede ser diferentes tipos de datos bajo el capó.

.net formats                                  MySQL
----------------------------------------------------
Decimal(Double)                              Float
Decimal(Int32)                               DECIMAL
Decimal(Int32())                             DECIMAL
Decimal(Int64)                               DECIMAL
Decimal(Single)                              DECIMAL
Decimal(UInt32)                              DECIMAL
Decimal(UInt64)                              DECIMAL
Decimal(Int32, Int32, Int32, Boolean, Byte)  DECIMAL
//This is really a UINT96.  

Advertencia
Tenga en cuenta que, según Jon Skeet, decimal se puede declarar de muchas maneras, pero siempre será un FLOAT debajo del capó, con todos los errores de redondeo que trae, ha sido advertido.
Ver:SQL decimal equivalente en .NET

DECIMAL de MySQL ocupa más espacio si le asigna una mayor precisión.

Del manual:http://dev .mysql.com/doc/refman/5.5/en/precision-math-decimal-changes.html

El mayor número de dígitos es 65, dividido por 9 =8 bytes, un INT128.