Hallo,
» »» Int ist auch ein numerischer Typ. Und da es offensichtlich keine speziellen Finanzwirtschaftlichen Funktionen gibt, die einen speziellen Feldtyp erfordern, würde ich mich in diesem Fall für int entscheiden und die Beträge in Cent speichern. Präziser gehts nicht.
selbstverständlich geht's präziser :-)
Definitionsraum? Wenn die Kasse auf den Cent genau stimmen soll, rechne ich in Cent.
CURRENCY, DECIMAL, oder was auch immer das DBMS bietet. Ganz gewiß nehme ich *keine* Integer und rechne in Cent. Wozu? Warum sollte ich die Umrechnung in Euro oder Dollar oder was auch immer zweimal selbst erledigen? Komplexerer Code, größere Fehleranfälligkeit.
Es ist eine gute Idee, stets den am besten passenden Datentyp zu wählen, den das DBMS für eine Aufgabe zu bieten hat. Für Geldbeträge ist dies im Fall von MySQL DECIMAL. Jeder andere Datentyp ist schlechter geeignet.
Ja, ich weiß, es gibt auch Helden, die die Uhrzeit als Integer speichern :-(
Freundliche Grüße
Vinzenz