Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Warum erscheint M in Clojure MySQL Query Results

M Suffix bedeutet, dass die Zahl BigDecimal ist . Sie können dies in REPL

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

Da Ihr Datenbankspaltentyp decimal(5,2) ist und decimal(7,2) , ist es nicht sicher, die Zahlen in float umzuwandeln oder double da diese Fließkommatypen nicht alle Zahlen von decimal(5,2) darstellen können oder decimal(7,2) genau.

Sie können mit dem Stichwort "Gleitkommaungenauigkeit" googeln. Es gibt jede Menge Artikel und Fragen und Antworten, auch innerhalb von Stackoverflow.