money e smallmoney (Transact-SQL)
Tipos de dados que representam valores monetários ou de moeda.
Tipo de dados |
Intervalo |
Storage |
---|---|---|
money |
-922.337.203.685.477,5808 a 922.337.203.685.477,5807 |
8 bytes |
smallmoney |
-214.748,3648 a 214.748,3647 |
4 bytes |
Comentários
Os tipos de dados money e smallmoney são precisos em dez milésimos de unidades monetárias que 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.
Os dados de moeda ou monetários não precisam ser incluídos entre aspas simples ( ' ). É importante lembrar que apesar de você poder especificar valores monetários precedidos por um símbolo de moeda, o SQL Server não armazena quaisquer informações de moeda associada com o símbolo, só armazena o valor numérico.
Convertendo dados money
Ao fazer a conversão em money a partir de tipos de dados integer, presume-se que as unidades estejam em unidades monetárias. Por exemplo, o valor inteiro de 4 é convertido ao equivalente money de 4 unidades monetárias.
O exemplo a seguir converte os valores smallmoney e money em tipos de dados varchar e decimal, respectivamente.
DECLARE @mymoney_sm smallmoney = 3148.29,
@mymoney money = 3148.29;
SELECT CAST(@mymoney_sm AS varchar) AS 'SM_MONEY varchar',
CAST(@mymoney AS decimal) AS 'MONEY DECIMAL';
Aqui está o conjunto de resultados.
SM_MONEY VARCHAR MONEY DECIMAL
------------------------------ ----------------------
3148.29 3148
(1 row(s) affected)
Consulte também
Referência
DECLARE @local\_variable (Transact-SQL)