Bester Datentyp zum Speichern von Geldwerten in MySQL
Ich möchte viele Datensätze in einer MySQL-Datenbank speichern. Alle von ihnen enthalten Geldwerte. Aber ich weiß nicht, wie viele Ziffern werden für jeden einzelnen eingefügt werden.
Welchen Datentyp muss ich für diesen Zweck verwenden?
VARCHAR oder INT (oder andere numerische Datentypen)?
259
3
Da Geld eine exakte Darstellung benötigt, sollten Sie keine Datentypen verwenden, die nur ungefähr sind, wie z.B. "Float". Sie können dafür einen numerischen Festkomma-Datentyp verwenden wie
Siehe MySQL Numerische Typen:
Diese Typen werden verwendet, wenn es wichtig ist, die exakte Genauigkeit zu erhalten, zum Beispiel bei Gelddaten.
Sie können
DECIMAL
oderNUMERIC
verwenden, beide sind gleichDie Typen DECIMAL und NUMERIC speichern exakte numerische Datenwerte. Diese Typen werden verwendet, wenn es wichtig ist, die exakte Genauigkeit zu bewahren, zum Beispiel bei monetären Daten. In MySQL ist NUMERIC als DECIMAL implementiert, daher gelten die folgenden Bemerkungen über DECIMAL auch für NUMERIC: MySQL
d.h.
DECIMAL(10,2)
Gute Lektüre
Das hängt von Ihrem Bedarf ab.
Die Verwendung von
DECIMAL(10,2)
ist normalerweise ausreichend, aber wenn Sie etwas genauere Werte benötigen, können SieDECIMAL(10,4)
verwenden.Wenn Sie mit großen Werten arbeiten, ersetzen Sie
10
durch19
.