Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Qual é a melhor definição de campo para armazenar um decimal .NET no MySQL?


O decimal .net pode ter diferentes tipos de dados sob o 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.  

Aviso
Observe que, de acordo com Jon Skeet, decimal pode ser declarado de várias maneiras, mas sempre será um FLOAT sob o capô, com todos os erros de arredondamento que isso traz, você foi avisado.
Veja:SQL decimal equivalente em .NET

DECIMAL do MySQL ocupa mais espaço se você atribuir uma precisão maior.

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

O maior número de dígitos é 65, dividido por 9 =8 bytes, um INT128.