Freigeben über


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.

Tabelle mit Währungssymbolen, hexadezimale Werte

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

ALTER TABLE (Transact-SQL)

CAST und CONVERT (Transact-SQL)

CREATE TABLE (SQL Server)

Datentypen (Transact-SQL)

DECLARE @local\_variable (Transact-SQL)

SET @local\_variable (Transact-SQL)

sys.types (Transact-SQL)