Mysql
 sql >> Database >  >> RDS >> Mysql

Qual è la migliore definizione di campo per archiviare un decimale .NET in MySQL?

Il decimale .net può essere di diversi tipi di dati sotto il cofano.

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

Avviso
Nota che secondo Jon Skeet, decimal può essere dichiarato in molti modi, ma sarà sempre un FLOAT sotto il cofano, con tutti gli errori di arrotondamento che comporta, sei stato avvisato.
Vedi:SQL decimale equivalente in .NET

DECIMAL di MySQL occupa più spazio se gli si assegna una precisione maggiore.

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

Il maggior numero di cifre è 65, diviso per 9 =8 byte, un INT128.