ChrisB: Geldbeträge in mysql-Datenbank abspeichern

Beitrag lesen

Hi,

»» Sollte man die Beträge in Cent umrechnen und dann in einer INT-Spalte ablegen?

Nein. Man sollte den Spaltentyp decimal nehmen.

Warum?

Weil Euro-Geldbeträge nun mal üblicherweise in Euro angegeben werden, und nicht in Cent.

Gibt es in mysql spezielle Funktionen für Rechnungswesen/Finanzen, wo dieser Feldtyp erforderlich ist bzw. Vorteile bringt?

Meinst du jetzt gegenüber INT, oder gegenüber FLOAT?

Was letzteres angeht - MySQL Numeric Types:
"The FLOAT and DOUBLE data types are used to represent approximate numeric data values."

Geldbeträge willst du nicht "approximativ" angeben, da hätte neben den Kunden des Shopsystems vermutlich auch der Fiskus was dagegen.

Deshalb:
"The DECIMAL and NUMERIC data types are used to store exact numeric data values. [...] These types are used to store values for which it is important to preserve exact precision, for example with monetary data."

MfG ChrisB

--
Light travels faster than sound - that's why most people appear bright until you hear them speak.