uang dan smallmoney (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Jenis data yang mewakili nilai moneter atau mata uang.

Keterangan

Jenis Data Rentang Penyimpanan
Uang -922.337.203.685.477.5808 menjadi 922.337.203.685.477.5807 (-922.337.203.685.477,58
menjadi 922.337.203.685.477,58 untuk Informatica. Informatica hanya mendukung dua desimal, bukan empat.)
8 byte
smallmoney -214.748,3648 ke 214.748.3647 4 byte

Jenis data uang dan smallmoney akurat hingga sepuluh ribu unit moneter yang mereka wakili. Untuk Informatica, jenis data uang dan smallmoney akurat hingga seratus unit moneter yang mereka wakili.

Gunakan periode untuk memisahkan unit moneter parsial, seperti sen, dari seluruh unit moneter. Misalnya, 2.15 menentukan 2 dolar dan 15 sen.

Jenis data ini dapat menggunakan salah satu simbol mata uang berikut.

Simbol Mata Uang Nilai heksadesimal
$ Tanda dolar 0024
¢ Tanda sen 00A2
£ Tanda pas 00A3
¤ Tanda mata uang 00A4
¥ Tanda Yen 00A5
Tanda Rupee Bengali 09F2
Tanda Rupee Bengali 09F3
฿ Simbol mata uang Baht Thailand 0E3F
Simbol mata uang Khmer Riel 17DB
Tanda mata uang Euro 20A0
Tanda titik dua 20A1
Tanda Cruzeiro 20A2
Tanda Franc Prancis 20A3
Tanda Lira 20A4
Tanda mill 20A5
Tanda Naira 20A6
Tanda Peseta 20A7
Rs Tanda Rupee 20A8
Tanda menang 20A9
Tanda Sheqel baru 20AA
Tanda dong 20AB
Tanda euro 20AC
Tanda kip 20AD
Tanda Tugrik 20AE
Tanda drachma 20AF
Tanda Penny Jerman 20B0
Tanda peso 20B1
Tanda rial FDFC
Tanda Dolar Kecil FE69
Tanda Dolar lebar penuh FF04
¢ Tanda Cent lebar penuh FFE0
£ Tanda Pound lebar penuh FFE1
Tanda Yen lebar penuh FFE5
Tanda Won lebar penuh FFE6

Anda tidak perlu memasukkan mata uang atau data moneter dalam tanda kutip tunggal ('). Meskipun Anda dapat menentukan nilai moneter yang didahului oleh simbol mata uang, SQL Server tidak menyimpan informasi mata uang apa pun yang terkait dengan simbol, itu hanya menyimpan nilai numerik.

Peringatan

Anda dapat mengalami kesalahan pembulatan melalui pemotongan, saat menyimpan nilai moneter sebagai uang dan smallmoney. Hindari menggunakan jenis data ini jika nilai uang atau mata uang Anda digunakan dalam perhitungan. Sebagai gantinya , gunakan jenis data desimal dengan setidaknya empat tempat desimal.

Mengonversi data uang

Ketika Anda mengonversi ke uang dari jenis data bilangan bulat, unit diasumsikan berada di unit moneter. Misalnya, nilai bilangan 4 bulat dikonversi ke uang yang setara dengan 4 unit moneter.

Contoh berikut mengonversi nilai smallmoney dan uang menjadi jenis data varchar dan desimal .

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

Berikut adalah hasil yang ditetapkan. Karena jenis desimal dalam contoh tidak memiliki skala, nilainya dipotong.

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