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

Hvad er den bedste feltdefinition til at gemme en .NET-decimal i MySQL?

.net-decimalen kan være forskellige datatyper under hætten.

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

Advarsel
Bemærk, at ifølge Jon Skeet, decimal kan erklæres på mange måder, men vil altid være en FLOAT under motorhjelmen, med alle de afrundingsfejl, der medfører, er du blevet advaret.
Se:SQL-decimalækvivalent i .NET

MySQL's DECIMAL fylder mere, hvis du tildeler den en større præcision.

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

Det største antal cifre er 65, divideret med 9 =8 bytes, en INT128.




  1. Registrer, om en dato er i sommertid i MySql

  2. mysql-adgangskoden ødelægger min dump

  3. Konverter 'tid' til 'datetimeoffset' i SQL Server (T-SQL-eksempler)

  4. MySQL - Vælg den seneste dato ud af et sæt af flere mulige tidsstempler?