. Десятичный .net может быть разных типов данных под капотом.
.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.
Внимание
Обратите внимание, что, по словам Джона Скита, decimal
может быть объявлено множеством способов, но всегда будет FLOAT
под капотом, со всеми ошибками округления, которые приносят, вы были предупреждены.
См .: Десятичный эквивалент SQL в .NET
MySQL DECIMAL
занимает больше места, если вы назначите ему большую точность.
Из руководства: http://dev.mysql.com/doc/refman/5.5/en/precision-math-decimal-changes.html
Значения для столбцов DECIMAL в MySQL 5.5 хранятся в двоичном формате, который упаковывает девять десятичных цифр в 4 байта.
Наибольшее количество цифр - 65, деленное на 9 = 8 байтов, INT128.