2014-03-12 8 views

Antwort

4

Sie sollten decimal als money Datentyp ist nicht präzise.

Sie auch Performance/Storage Comparisons : MONEY vs. DECIMAL von Aaron Bertrand

+1

"nicht präzise"? Bitte. Es hat 4 vollständige Nachkommastellen. Das nicht präzise zu nennen, ist völlig willkürlich, basiert auf keinem Bezugspunkt, und, ähm, ungenau. Für diejenigen, die nicht mehr als 4 Nachkommastellen speichern müssen, ist 'Geld' genau so genau, wie sie brauchen. –

13

Decimal Typ mehr Präzision bietet, Zwischenergebnisse zu halten überprüfen können die Ergebnisse, die Sie erwarten zu bekommen.

Nachteile money Datentyp:

  1. Es ist proprietär, so Portierung es ein Schmerz ist. Es ist eines der vielen "Sybase Code Museum" Features von vor Jahrzehnten. Erinnern Sie sich an die frühen Versionen von UNIX?

  2. Code im Dialekt schreiben, wenn Sie nicht brauchen, dass Sie für Leute, die die Sprache sprechen, wie ein Hillbilly klingen. Sie sind besser mit DECIMAL (s, p), so dass Sie eine richtig große Spalte verwenden können.

  3. Es zeigt und formatiert im Backend mit Kommas und Dollarzeichen. Das vereitelt den Zweck einer mehrstufigen Architektur.

  4. Der Datentyp MONEY hat Rundungsfehler.

Ref: Msdn

+2

Es hat nur "Rundungsfehler", wenn es falsch verwendet wird, d. H. Wenn jemand "Geld" mit "Geld" multipliziert oder dividiert, was natürlich unsinnig ist. Wenn "Geld" mit einem geeigneten Typ multipliziert/dividiert wird, der bewirkt, dass der Ausdruck auf eine beliebige Genauigkeit hochgestuft wird, gibt es überhaupt kein Problem. –