Share via


money und smallmoney (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Datentypen zur Darstellung von Währungswerten.

Bemerkungen

Datentyp Range Storage
money -922.337.203.685.477,5808 bis 922.337.203.685.477,5807 (-922.337.203.685.477,58
bis 922.337.203.685.477,58 für Informatica. Informatica unterstützt nur zwei Dezimalstellen, nicht vier.)
8 Bytes
smallmoney -214,748.3648 bis 214.748,3647 4 Bytes

Die Datentypen money und smallmoney weisen die Genauigkeit eines Zehntausendstels der dargestellten Währungseinheiten auf. Für Informatica weisen die Datentypen money und smallmoney die Genauigkeit eines Hundertstels der dargestellten Währungseinheiten auf.

Mit einem Punkt werden Währungsuntereinheiten, wie z. B. Cent, von ganzen Währungseinheiten getrennt. Gibt beispielsweise 2.15 2 Dollar und 15 Cent an.

Diese Datentypen können eines der folgenden Währungssymbole verwenden.

Symbol Währung Hexadezimalwert
$ Dollarzeichen 0024
¢ Cent-Zeichen 00A2
£ Pfundzeichen 00A3
¤ Währungszeichen 00A4
¥ Yen-Zeichen 00A5
Bengalische Rupienmarke 09F2
Bengali-Rupienzeichen 09F3
฿ Thai Baht Währungssymbol 0E3F
Khmer Riel Währungssymbol 17DB
Euro-Währungszeichen 20A0
Doppelpunktzeichen 20A1
Cruzeiro-Zeichen 20A2
Französisches Franczeichen 20A3
Lira-Zeichen 20A4
Millzeichen 20A5
Naira-Zeichen 20A6
Peseta-Zeichen 20A7
Rs Rupienzeichen 20A8
Won sign 20A9
Neues Sheqel-Zeichen 20AA
Dong-Zeichen 20AB
Eurozeichen 20AC
Kip-Zeichen 20AD
Tugrik-Zeichen 20AE
Drachmazeichen 20AF
Deutsches Centzeichen 20B0
Pesozeichen 20B1
Rialzeichen FDFC
Kleines Dollarzeichen FE69
Dollarzeichen voller Breite FF04
¢ Cent-Zeichen mit voller Breite FFE0
£ Pfundzeichen voller Breite FFE1
¥ Yenzeichen mit voller Breite FFE5
Zeichen "Won" mit voller Breite FFE6

Sie müssen keine Währungs- oder Währungsdaten in einfache Anführungszeichen (') einschließen. Sie können zwar Währungswerte vor einem Währungssymbol angeben, SQL Server speichert jedoch keine Währungsinformationen, die dem Symbol zugeordnet sind, und speichert nur den numerischen Wert.

Warnung

Beim Speichern von Geldwerten als Geld und Kleingeld können Sie Fehler durch Abschneiden runden. Vermeiden Sie die Verwendung dieses Datentyps, wenn Ihre Geld- oder Währungswerte in Berechnungen verwendet werden. Verwenden Sie stattdessen den Dezimaldatentyp mit mindestens vier Dezimalstellen.

Konvertieren von Gelddaten

Beim Konvertieren von Ganzzahldatentypen in money-Datentypen wird davon ausgegangen, dass es sich bei den Einheiten um Währungseinheiten handelt. Beispielsweise wird der ganzzahlige Wert von 4 4 Währungseinheiten in das Geldäquivalent konvertiert.

Das folgende Beispiel konvertiert smallmoney- und money-Werte jeweils in varchar- und decimal-Datentypen.

DECLARE @mymoney_sm SMALLMONEY = 3148.29,
    @mymoney MONEY = 3148.29;

SELECT CAST(@mymoney_sm AS VARCHAR(20)) AS 'SM_MONEY VARCHAR(20)',
    CAST(@mymoney AS DECIMAL) AS 'MONEY DECIMAL';

Hier ist das Resultset. Da der Dezimaltyp im Beispiel keine Skalierung aufweist, wird der Wert abgeschnitten.

SM_MONEY VARCHAR(20)           MONEY DECIMAL
------------------------------ ----------------------
3148.29                        3148