sql >> Database >  >> RDS >> Mysql

Waarom verschijnt M in Clojure MySQL Query Results

M achtervoegsel betekent dat het nummer BigDecimal . is . U kunt dit controleren in REPL

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

Aangezien uw databasekolomtype decimal(5,2) . is en decimal(7,2) , het is niet veilig om de getallen om te zetten in float of double omdat die drijvende-kommatypes niet alle getallen van decimal(5,2) kunnen vertegenwoordigen of decimal(7,2) nauwkeurig.

Je kunt googlen met het trefwoord "floating point onnauwkeurigheid". Er zijn massa's artikelen en Q&A's, ook binnen StackOverflow.




  1. Regex om overeen te komen met MySQL-opmerkingen

  2. Java+Tomcat, stervende databaseverbinding?

  3. Waarom is django ORM zo veel langzamer dan onbewerkte SQL?

  4. Een restant krijgen met MOD() in PostgreSQL, MS SQL Server en MySQL