Aracılığıyla paylaş


para ve küçük para (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnalytics Platform Sistemi (PDW)Microsoft Fabric'te SQL Veritabanı

Parasal veya para birimi değerlerini temsil eden veri türleri.

Remarks

Veri türü Range Storage
money -922.337.203.685.477.5808 - 922.337.203.685.477.5807 (-922.337.203.685.477.58
informatica için 922.337.203.685.477.58'e. Informatica yalnızca iki ondalık basamak destekler, dört değil.)
8 bayt
smallmoney -214.748.3648 - 214.748.3647 4 bayt

para ve smallmoney veri türleri, temsil ettikleri para birimlerinin on binde biri için doğrudur. Informatica için, para ve smallmoney veri türleri, temsil ettikleri para birimlerinin yüzde birine doğrudur.

Cent gibi kısmi para birimlerini tüm para birimlerinden ayırmak için nokta kullanın. Örneğin, 2.15 2 dolar ve 15 sent belirtir.

Bu veri türleri aşağıdaki para birimi simgelerinden herhangi birini kullanabilir.

Symbol Currency Onaltılık değer
$ Dolar işareti 0024
¢ Cent işareti 00A2
£ Pound işareti 00A3
¤ Para birimi işareti 00A4
¥ Yen işareti 00A5
Bengal Rupisi işareti 09F2
Bengal Rupisi işareti 09F3
฿ Tay Bahtı para birimi simgesi 0E3F
Khmer Riel para birimi simgesi 17DB
Euro para birimi işareti 20A0
Sütun işareti 20A1
Cruzeiro işareti 20A2
Fransız Frangı işareti 20A3
Lira işareti 20A4
Değirmen tabelası 20A5
Naira işareti 20A6
Peseta işareti 20A7
Rupi işareti 20A8
Won işareti 20A9
Yeni Sheqel işareti 20AA
Dong işareti 20AB
Euro işareti 20AC
Kip işareti 20AD
Tugrik tabelası 20AE
Drachma işareti 20AF
Almanca Penny işareti 20B0
Peso işareti 20B1
Rial işareti FDFC
Küçük Dolar işareti FE69
Tam genişlikte Dolar işareti FF04
Tam genişlikte Cent işareti FFE0
Tam genişlikte Pound işareti FFE1
Tam genişlikte Yen işareti FFE5
Tam genişlikli Won işareti FFE6

Para birimini veya parasal verileri tek tırnak içine almanız gerekmez ('). Para birimi simgesinden önce gelen parasal değerleri belirtebilirsiniz ancak SQL Server sembolle ilişkili para birimi bilgilerini depolamaz, yalnızca sayısal değeri depolar.

Warning

Parasal değerleri para olarak depolarken ve smallmoneykesme yoluyla yuvarlama hatalarıyla karşılaşabilirsiniz. Para veya para birimi değerleriniz hesaplamalarda kullanılıyorsa bu veri türünü kullanmaktan kaçının. Bunun yerine, en az dört ondalık basamak içeren ondalık veri türünü kullanın.

Para verilerini dönüştürme

Tamsayı veri türlerinden para birimine dönüştürdüğünüzde, birimlerin para birimlerinde olduğu varsayılır. Örneğin, tamsayı değeri, 4 para biriminin eşdeğeri para birimine dönüştürülür.

Aşağıdaki örnek, smallmoney ve para değerlerini sırasıyla varchar ve ondalık veri türlerine dönüştürür.

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

Sonuç kümesi aşağıdadır. Örnekteki ondalık türünde ölçekolmadığından, değer kesilir.

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