sql >> Databasteknik >  >> RDS >> Mysql

Varför visas M i Clojure MySQL Query Results

M suffix betyder att talet är BigDecimal . Du kan kontrollera detta i REPL

user=> (class 1)
java.lang.Long
user=> (class 1.0)
java.lang.Double
user=> (class 1M)
java.math.BigDecimal

Eftersom din databas kolumntyp är decimal(5,2) och decimal(7,2) , det är inte säkert att konvertera siffrorna till float eller double eftersom dessa flyttalstyper inte kan representera alla siffror för decimal(5,2) eller decimal(7,2) exakt.

Du kan googla med sökordet "floating point inexakthet". Det finns massor av artiklar och frågor och svar, även inom Stackoverflow.




  1. Få en lista över datum mellan två datum

  2. MySQL:Hur väljer jag poster för den här veckan?

  3. Hur får du din databas att tala många språk?

  4. Hur man tar bort poster i DB med mySQL med hjälp av group by