Ich bin neugierig, ob es einen wirklichen Unterschied gibt zwischen dem money
Datentyp und etwas wie decimal(19,4)
(das ist das, was Geld intern verwendet, glaube ich).
Ich bin mir bewusst, dass money
ist spezifisch für SQL Server. Ich möchte wissen, ob es einen zwingenden Grund gibt, das eine dem anderen vorzuziehen; die meisten SQL Server-Beispiele (z. B. die AdventureWorks-Datenbank) verwenden money
でなく decimal
für Dinge wie Preisinformationen.
Sollte ich einfach weiterhin den Datentyp "Geld" verwenden, oder gibt es einen Vorteil, wenn ich stattdessen "Dezimal" verwende? Bei Geld sind weniger Zeichen einzugeben, aber das ist kein triftiger Grund :)
22 Stimmen
DECIMAL(19, 4)
ist eine beliebte Wahl siehe este Prüfen Sie auch ici Weltwährungsformate, um zu entscheiden, wie viele Dezimalstellen zu verwenden sind, hoffentlich hilft das.0 Stimmen
Ich habe mich gefragt, warum der Gelddatentyp 4 Dezimalstellen hat und nicht 2. z.B. 100 Cent in einem Dollar, so dass nur 2 Dezimalstellen erforderlich sind? Um einen Datensatz mit Geldbeträgen unter 9999,99 $ zu speichern, wollte ich einen Datentyp mit dem Wert decimal(6,2) verwenden. Ich bin nicht besorgt über dividieren oder multiplizieren Berechnungen, nur die Speicherung und Summierung
1 Stimmen
Einige Währungen sind in kleinere Teile als Hunderter unterteilt, z.B. ist der bahrainische Dinar in 1000 Fils unterteilt
2 Stimmen
Es gibt gute Gründe, Geld durch Geld zu teilen. Ich habe diesen Thread gefunden, weil ich eine "Geld/Geld"-Situation hatte und ungenaue Antworten erhalten habe. Die Berechnung bestand darin, das Verhältnis eines Dollarbetrags zu einem anderen zu bestimmen. Es scheint immer auf 4 Dezimalstellen abgeschnitten zu werden, so dass ich 0,0109 erhalte, wo ich nach 0,0110 suche (die richtig gerundete Antwort auf mehr Stellen ist 0,01095125.