Interessante Frage.
Ich würde Float in der MySQL-Umgebung nicht wirklich wählen. Zu viele Probleme in der Vergangenheit mit der Genauigkeit dieses Datentyps.
Für mich wäre die Wahl zwischen int
und decimal(18,4)
.
Ich habe Beispiele für Ganzzahlen aus der realen Welt gesehen, die zur Darstellung von Gleitkommawerten verwendet werden. Die Interna der Datentabellen von JD Edwards tun dies alles. Mengen werden normalerweise durch 10000 dividiert. Obwohl ich sicher bin, dass es schneller und kleiner in der Tabelle ist, bedeutet es nur, dass wir die ints immer in einen Dezimalwert umwandeln müssen, wenn wir irgendetwas damit machen wollen, insbesondere Division.
Aus Programmiersicht würde ich es immer vorziehen, mit decimal
zu arbeiten für den Preis ( oder money
in RDBMSs, die dies unterstützen).