[MySQL] Subtrahieren geht nicht

atlan428

Well-known member
ID: 43536
L
13 Mai 2006
269
10
Ich habe eine SQL-Tabelle mit dem Namen Festungen. Diese besteht aus 3 Feldern, die Holz, Goldmuenzen und Nr heißen. In dieser Tabelle gibt es ein Datensatz mit folgenden Werten:
(float) Holz = 5e+009
(varchar) Goldmünzen = 0
(int) Nr = 1

Jetzt soll folgender Befehl ausgeführt werden:
UPDATE Festungen SET Holz = (Holz - 1), Goldmuenzen = (Goldmuenzen + 0.01) WHERE Nr = '1'

Die Goldmünzen werden richtig erhöht, aber von dem Holz wird nichts abgezogen. Der Wert bleibt einfach unverändert. Woran kann das liegen?
 
Im ICQ gelöst: FLOAT-Werte haben nur eine Genauigkeit von 7 Stellen,
d.h. (5e+009) - 1 = (5e+009) ist korrekt, da die 1 einfach abgeschnitten wird bei der Subtraktion.

Weitere Hintergrundinfos zur Codierung von Fließkommazahlen im IEEE 754-Standard.