sql >> Databáze >  >> RDS >> Mysql

Proč se M objevuje ve výsledcích dotazů Clojure MySQL

M přípona znamená, že číslo je BigDecimal . Můžete to zkontrolovat v REPL

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

Protože typ sloupce vaší databáze je decimal(5,2) a decimal(7,2) , není bezpečné převádět čísla na float nebo double protože tyto typy s plovoucí desetinnou čárkou nemohou reprezentovat všechna čísla decimal(5,2) nebo decimal(7,2) přesně.

Můžete googlit s klíčovým slovem „nepřesnost s plovoucí desetinnou čárkou“. Existuje spousta článků a otázek a odpovědí, také v rámci Stackoverflow.




  1. Převést z RAW (16) Oracle na GUID .NET

  2. MySQL získá pozici řádku v ORDER BY

  3. Jedinečný klíč s hodnotami NULL

  4. Datum v adrese URL dd/mm/rrrr