money e smallmoney (Transact-SQL)
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)
Tipos de dados que representam valores monetários ou de moeda.
Comentários
Tipo de dados | Intervalo | Armazenamento |
---|---|---|
money | -922.337.203.685.477,5808 a 922.337.203.685.477,5807 (-922.337.203.685.477,58 a 922.337.203.685.477,58 para o Informatica. O Informatica dá suporte apenas a dois decimais, não quatro.) |
8 bytes |
smallmoney | -214,748.3648 a 214,748.3647 | 4 bytes |
Os tipos de dados money e smallmoney têm a precisão de dez milésimos das unidades monetárias que eles representam. Para o Informatica, os tipos de dados money e smallmoney têm a precisão de um centésimo das unidades monetárias que eles representam.
Use um ponto 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 centavo | 00A2 |
£ | Sustenido | 00A3 |
¤ | Sinal de moeda | 00A4 |
¥ | Sinal de iene | 00A5 |
৲ | Marca de rúpia bengali | 09F2 |
৳ | Sinal de rúpia bengali | 09F3 |
฿ | Símbolo da moeda tailandesa Baht | 0E3F |
៛ | Símbolo da moeda Khmer Riel | 17DB |
₠ | Sinal de moeda do euro | 20A0 |
₡ | Sinal de cólon | 20A1 |
₢ | Sinal do Cruzeiro | 20A2 |
₣ | Sinal do franco francês | 20A3 |
₤ | Sinal de Lira | 20A4 |
₥ | Sinal do moinho | 20A5 |
₦ | Sinal de Naira | 20A6 |
₧ | Sinal de Peseta | 20A7 |
O | Sinal de rúpia | 20A8 |
₩ | Sinal de vitória | 20A9 |
₪ | Novo sinal de Sheqel | 20AA |
₫ | Sinal de Dong | 20AB |
€ | Sinal do euro | 20AC |
₭ | Sinal de Kip | 20AD |
₮ | Sinal de Tugrik | 20AE |
₯ | Sinal de dracma | 20AF |
₰ | Sinal de Penny alemão | 20B0 |
₱ | Sinal de peso | 20B1 |
﷼ | Sinal de Rial | FDFC |
﹩ | Cifrão pequeno | 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 de Won de largura total | FFE6 |
Você não precisa colocar moeda ou dados monetários 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 armazena apenas o valor numérico.
Aviso
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 monetários ou monetários forem usados em cálculos. Em vez disso, use o tipo de dados decimal com pelo menos quatro casas decimais.
Converter dados de dinheiro
Ao fazer a conversão em money de tipos de dados inteiro, presume-se que as unidades estejam em unidades monetárias. Por exemplo, o valor inteiro de 4
é convertido para o equivalente monetário de 4 unidades monetárias.
O exemplo a seguir converte os valores smallmoney e money nos tipos de dados varchar e decimal, 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';
Este é o conjunto de resultados. Como o tipo decimal no exemplo não tem uma escala, o valor é truncado.
SM_MONEY VARCHAR(20) MONEY DECIMAL
------------------------------ ----------------------
3148.29 3148
Conteúdo relacionado
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de