Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Dlaczego M pojawia się w Clojure MySQL Query Results?

M przyrostek oznacza, że ​​liczba to BigDecimal . Możesz to sprawdzić w REPL

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

Ponieważ typ kolumny bazy danych to decimal(5,2) i decimal(7,2) , nie jest bezpieczne konwertowanie liczb na float lub double ponieważ te typy zmiennoprzecinkowe nie mogą reprezentować wszystkich liczb decimal(5,2) lub decimal(7,2) dokładnie.

Możesz wygooglować za pomocą słowa kluczowego „niedokładność zmiennoprzecinkowa”. Istnieje mnóstwo artykułów i pytań i odpowiedzi, również w Stackoverflow.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql :sortowanie losowe niż sortowanie według określonej kolumny

  2. Wykonaj wiele aktualizacji w jednym zapytaniu SQL przy użyciu PHP

  3. Ustawianie limitu czasu php

  4. Przywróć tradycyjną replikację z GTID

  5. Arabski problem z konwersją php mysql utf-8