money und smallmoney (Transact-SQL)
Datentypen zur Darstellung von Währungswerten.
Datentyp |
Bereich |
Speicherung |
---|---|---|
money |
-922.337.203.685.477,5808 bis 922.337.203.685.477,5807 |
8 Byte |
smallmoney |
-214.748,3648 bis 214.748,3647 |
4 Byte |
Hinweise
Die Datentypen money und smallmoney weisen die Genauigkeit eines Zehntausendstels der dargestellten Währungseinheiten auf.
Mit einem Punkt werden Währungsuntereinheiten, wie z. B. Cent, von ganzen Währungseinheiten getrennt. Die Zahl 2.15 gibt z. B. 2 Dollar und 15 Cent an.
Diese Datentypen können eines der folgenden Währungssymbole verwenden.
Währungsdaten müssen nicht in einfache Anführungszeichen (') eingeschlossen werden. Sie sollten stets bedenken, dass Sie zwar Währungswerte angeben können, denen ein Währungssymbol vorangestellt ist, dass SQL Server jedoch keinerlei mit diesem Symbol verbundene Währungsinformationen speichert, sondern lediglich den nummerischen Wert.
Konvertieren von money-Daten
Beim Konvertieren von Ganzzahldatentypen in money-Datentypen wird davon ausgegangen, dass es sich bei den Einheiten um Währungseinheiten handelt. Der ganzzahlige Wert 4 entspricht nach der Konvertierung in den money-Datentyp 4 Währungseinheiten.
Im folgenden Beispiel werden smallmoney- und money-Werte in varchar- bzw. decimal-Datentypen konvertiert.
DECLARE @mymoney_sm smallmoney = 3148.29,
@mymoney money = 3148.29;
SELECT CAST(@mymoney_sm AS varchar) AS 'SM_MONEY varchar',
CAST(@mymoney AS decimal) AS 'MONEY DECIMAL';
Dies ist das Resultset.
SM_MONEY VARCHAR MONEY DECIMAL
------------------------------ ----------------------
3148.29 3148
(1 row(s) affected)
Siehe auch
Verweis
CAST und CONVERT (Transact-SQL)
DECLARE @local\_variable (Transact-SQL)