dinheiro e dinheiro pequeno (Transact-SQL)
Aplica-se a:Banco de Dados SQL do SQL do
do Azure
Instância Gerenciada SQL do Azure
do Azure Synapse Analytics
do Analytics Platform System (PDW)
banco de dados SQL no Microsoft Fabric
Tipos de dados que representam valores monetários ou de moeda.
Comentários
Tipo de dados | Gama | Armazenamento |
---|---|---|
dinheiro | -922.337.203.685.477,5808 a 922.337.203.685.477,5807 (-922.337.203.685.477,58 para 922.337.203.685.477,58 para Informática. A Informatica suporta apenas duas casas decimais, não quatro.) |
8 bytes |
dinheiro pequeno | -214.748,3648 a 214.748,3647 | 4 bytes |
Os
Use um período para separar unidades monetárias parciais, como centavos, de unidades monetárias inteiras. Por exemplo, 2.15
especifica 2 dólares e 15 centavos.
Esses tipos de dados podem usar qualquer um dos seguintes símbolos de moeda.
Símbolo | Moeda | Valor hexadecimal |
---|---|---|
$ | Cifrão | 0024 |
¢ | Sinal de cêntimo | 00A2 |
£ | Sinal de libra | 00A3 |
¤ | Sinal de moeda | 00A4 |
¥ | Sinal de iene | 00A5 |
৲ | Marca de rupia bengali | 09F2 |
৳ | Sinal de rupia bengali | 09F3 |
฿ | Símbolo da moeda tailandesa Baht | 0E3F |
៛ | Símbolo da moeda Khmer Riel | 17DB |
₠ | Sinal da moeda euro | 20A0 |
₡ | Sinal de cólon | 20A1 |
₢ | Cruzeiro assina | 20A2 |
₣ | Sinal de franco francês | 20A3 |
₤ | Signo de Lira | 20A4 |
₥ | Sinal do moinho | 20A5 |
₦ | Sinal de Naira | 20A6 |
₧ | Sinal de Peseta | 20A7 |
O | Sinal de rupia | 20A8 |
₩ | Sinal de vitória | 20A9 |
₪ | Novo sinal de Sheqel | 20AA |
₫ | Sinal de Dong | 20AB |
€ | Símbolo do euro | 20AC |
₭ | Sinal de Kip | 20AD |
₮ | Sinal de Tugrik | 20AE |
₯ | Sinal de Drachma | 20AF |
₰ | Sinal Penny alemão | 20B0 |
₱ | Sinal de peso | 20B1 |
﷼ | Sinal de Rial | FDFC |
﹩ | Pequeno cifrão | FE69 |
$ | Cifrão de largura total | FF04 |
¢ | Sinal de centavo de largura total | FFE0 |
£ | Sinal de libra de largura total | FFE1 |
¥ | Sinal de iene de largura total | FFE5 |
₩ | Sinal Won de largura total | FFE6 |
Não é necessário colocar dados monetários ou de moeda entre aspas simples ('
). Embora você possa especificar valores monetários precedidos por um símbolo de moeda, o SQL Server não armazena nenhuma informação de moeda associada ao símbolo, ele apenas armazena o valor numérico.
Advertência
Você pode experimentar erros de arredondamento através de truncamento, ao armazenar valores monetários como dinheiro e dinheiro pequeno. Evite usar esse tipo de dados se seus valores de dinheiro ou moeda forem usados em cálculos. Em vez disso, use o tipo de dados decimal
Converter dados de dinheiro
Quando você converte para moeda de tipos de dados inteiros, presume-se que as unidades estejam em unidades monetárias. Por exemplo, o valor inteiro de 4
é convertido para o moeda equivalente a 4 unidades monetárias.
O exemplo a seguir converte smallmoney e valores de de dinheiro em varchar e tipos de dados decimais, respectivamente.
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';
Aqui está o conjunto de resultados. Como o tipo de decimal
SM_MONEY VARCHAR(20) MONEY DECIMAL
------------------------------ ----------------------
3148.29 3148