Mysql
 sql >> Base de données >  >> RDS >> Mysql

Pourquoi M apparaît-il dans les résultats de la requête Clojure MySQL

M le suffixe signifie que le nombre est BigDecimal . Vous pouvez vérifier cela dans REPL

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

Étant donné que le type de colonne de votre base de données est decimal(5,2) et decimal(7,2) , il n'est pas sûr de convertir les nombres en float ou double car ces types à virgule flottante ne peuvent pas représenter tous les nombres de decimal(5,2) ou decimal(7,2) avec précision.

Vous pouvez google avec le mot clé "inexactitude en virgule flottante". Il y a des tonnes d'articles et de questions-réponses, également dans Stackoverflow.