Delen via


geld en smallmoney (Transact-SQL)

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-database in Microsoft Fabric

Gegevenstypen die monetaire of valutawaarden vertegenwoordigen.

Opmerkingen

Gegevenstype Bereik Opslag
geld -922.337.203.685.477.5808 tot 922.337.203.685.477.5807 (-922.337.203.685.477.58
tot 922.337.203.685.477.58 voor Informatica. Informatica ondersteunt slechts twee decimalen, niet vier.)
8 bytes
smallmoney -214.748.3648 tot 214.748.3647 4 bytes

Het geld en smallmoney gegevenstypen zijn nauwkeurig tot een tienduizendste van de monetaire eenheden die ze vertegenwoordigen. Voor Informatica zijn het geld en smallmoney gegevenstypen nauwkeurig voor een honderdste van de monetaire eenheden die ze vertegenwoordigen.

Gebruik een periode om gedeeltelijke monetaire eenheden, zoals centen, te scheiden van hele monetaire eenheden. 2.15 geeft bijvoorbeeld 2 dollar en 15 cent aan.

Deze gegevenstypen kunnen gebruikmaken van een van de volgende valutasymbolen.

Symbool Valuta Hexadecimale waarde
$ Dollarteken 0024
¢ Centteken 00A2
£ Hekje 00A3
¤ Valutateken 00A4
¥ Yenteken 00A5
Bengaals roepieteken 09F2
Bengaals roepieteken 09F3
฿ Thai Baht valutasymbool 0E3F
Khmer Riel valutasymbool 17DB
Eurovalutateken 20A0
Dubbele punt 20A1
Cruzeiro-teken 20A2
Franse frankteken 20A3
Lira-teken 20A4
Molenteken 20A5
Naira-teken 20A6
Pesetateken 20A7
Rs Roepieteken 20A8
Won-teken 20A9
Nieuw Sheqel-teken 20AA
Dong-teken 20AB
Euroteken 20AC
Kipteken 20AD
Tugrik-teken 20AE
Drachmateken 20AF
Duits Pennyteken 20B0
Pesoteken 20B1
Rial-teken FDFC
Kleine dollarteken FE69
Dollarteken met volledige breedte FF04
Centteken met volledige breedte FFE0
Hekje met volledige breedte FFE1
Yenteken met volledige breedte FFE5
Won-teken met volledige breedte FFE6

U hoeft valuta- of monetaire gegevens niet tussen enkele aanhalingstekens (') te plaatsen. Hoewel u monetaire waarden kunt opgeven die voorafgaan door een valutasymbool, worden in SQL Server geen valutagegevens opgeslagen die aan het symbool zijn gekoppeld, maar alleen de numerieke waarde.

Waarschuwing

U kunt fouten afronden door afkappen, bij het opslaan van monetaire waarden als geld en smallmoney. Vermijd het gebruik van dit gegevenstype als uw geld- of valutawaarden worden gebruikt in berekeningen. Gebruik in plaats daarvan het decimaal gegevenstype met ten minste vier decimalen.

Geldgegevens converteren

Wanneer u converteert naar geld van gegevenstypen voor gehele getallen, wordt ervan uitgegaan dat eenheden in monetaire eenheden staan. De gehele waarde van 4 wordt bijvoorbeeld geconverteerd naar het geld equivalent van 4 monetaire eenheden.

In het volgende voorbeeld worden smallmoney- en waarden geld geconverteerd naar respectievelijk varchar- en decimaal gegevenstypen.

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';

Dit is de resultatenset. Omdat het decimaal type in het voorbeeld geen schaalheeft, wordt de waarde afgekapt.

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