Tom: Spaltentyp bei Preisen

Beitrag lesen

Hello,

ich arbeite mit einer mySQL Tabelle und möchte meine Ausgaben dort eintragen. Am Ende des monats möchte ich gerne die Preise zusammenrechnen.

Und wie hast du die Tabelle definiert? Es gibt keinen Spaltentyp "DECIMAL" so, wie es einen Spaltentyp "INT" gibt - man muß die Anzahl der gewünschten Nachkommastellen schon mit angeben, und die Vorkommastellen IIRC auch.

Man muss die Länge der Dezimalzahl einschließlich Vorzeichen angeben. Das Komma (oder der Dezimalpunkt) wird nicht mitgezählt. Allerdings hat MySQL die unangenehme Eigenschaft, keinen echten Rangecheck durchzuführen. Es wird also kein Fehler ausgelöst. Wenn Du also eine Zahl einträgst, die länger ist, als die Datenbank sie speichern kann, dann wird 99999,99 eingetragen, hier bei Decimal(7,2). Beim Dezimaltyp wird auch tatsächlich soviel gespeichert, wie angezeigt wird, während ein bigint(10) nur die Anzeige auf 10 Stellen reduzieren würde, aber trotzdem vier Byte abspeichern würde.

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau