Sdílet prostřednictvím


Peníze a drobné peníze (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)databáze SQL v Microsoft Fabric

Datové typy, které představují peněžní hodnoty nebo hodnoty měny.

Remarks

Datový typ Range Storage
money -922 337 203 685 477,5808 až 922 337 203 685 477,5807 (-922 337 203 685 477,588
922 337 203 685 477,58 pro Informatica. Informatica podporuje pouze dvě desetinná místa, ne čtyři.)
8 bajtů
smallmoney -214 748,3648 až 214 748,3647 4 bajty

peněžních a malých datových typů jsou přesné na desetitisícitisícových peněžních jednotek, které představují. Pro Informatica jsou peníze a malé datové typy jsou přesné na jednu setnu peněžních jednotek, které představují.

Použijte období k oddělení částečných peněžních jednotek, jako jsou centy, od celých peněžních jednotek. Například 2.15 určuje 2 dolary a 15 centů.

Tyto datové typy můžou používat libovolný z následujících symbolů měny.

Symbol Currency Šestnáctková hodnota
$ Značka dolaru 0024
¢ Centové znamení 00A2
£ Znak libry 00A3
¤ Měnový znak 00A4
¥ Znak Yen 00A5
Bengálská rupie marka 09F2
Znaménko Bengali Rupee 09F3
฿ Thajský baht symbol měny 0E3F
Symbol měny Khmer Riel 17DB
Znaménko měny Euro 20A0
Znak součte 20A1
Nápis Cruzeiro 20A2
Znaménko francouzského franku 20A3
Znak Lira 20A4
Značka mlýna 20A5
Znak Naira 20A6
Peseta znak 20A7
Znak rupie 20A8
Znak vítězství 20A9
Nové znaménko Sheqel 20AA
Znak Dong 20AB
Znak eura 20AC
Kip znak 20AD
Znak Tugrik 20AE
Drachmatický znak 20AF
Německý Penny podepsat 20B0
Peso znak 20B1
Rialové znamení FDFC
Malé znaménko dolaru FE69
Znaménko dolaru s plnou šířkou FF04
Znaménko Cent s plnou šířkou FFE0
Znaménko libra s plnou šířkou FFE1
Znaménko Yen s plnou šířkou FFE5
Znaménko Won s plnou šířkou FFE6

Není nutné uzavřít měnu ani peněžní data do jednoduchých uvozovek ('). I když můžete zadat peněžní hodnoty před symbolem měny, SQL Server neukládá žádné informace o měně přidružené ke symbolu, ukládá pouze číselnou hodnotu.

Warning

Při ukládání peněžních hodnot jako peněžních a malýchmůžete zaznamenat chyby zaokrouhlení. Nepoužívejte tento datový typ, pokud se ve výpočtech používají hodnoty peněz nebo měny. Místo toho použijte datový typ desetinných míst s alespoň čtyřmi desetinnými místy.

Převod dat peněz

Při převodu na peněz z celočíselného datového typu se předpokládá, že jednotky budou v peněžních jednotkách. Například celočíselná hodnota 4 se převede na peníze ekvivalentu 4 peněžních jednotek.

Následující příklad převede smallmoney a money hodnoty na varchar a desetinných datových typů.

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

Tady je sada výsledků. Protože desítkové typu v příkladu nemá měřítko, hodnota je zkrácena.

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