money und smallmoney (Transact-SQL)
Datentypen zur Darstellung von Währungswerten.
Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version), Windows Azure SQL-Datenbank (Ursprüngliche Version bis aktuelle Version). |
Hinweise
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 |
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)