sql >> Databasteknik >  >> RDS >> Mysql

Vilken är den bästa fältdefinitionen för att lagra en .NET-decimal i MySQL?

.net-decimalen kan vara olika datatyper under huven.

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

Varning
Observera att enligt Jon Skeet, decimal kan deklareras på många sätt, men kommer alltid att vara en FLOAT under huven, med alla avrundningsfel som medför, har du blivit varnad.
Se:SQL-decimalekvivalent i .NET

MySQL:s DECIMAL tar mer plats om du tilldelar den en större precision.

Från manualen:http://dev .mysql.com/doc/refman/5.5/en/precision-math-decimal-changes.html

Det största antalet siffror är 65, dividerat med 9 =8 byte, en INT128.




  1. Mysql - uppdatera tabellkolumnen från en annan kolumn baserat på beställning

  2. SQL Välj Kommande födelsedagar

  3. Snabbaste sättet att subset - data.table vs. MySQL

  4. Tidsstämpel utan ändring vid uppdatering