Compartilhar via


money e smallmoney (Transact-SQL)

Tipos de dados que representam valores monetários ou de moeda.

Aplica-se a: SQL Server (SQL Server 2008 até a versão atual), Banco de dados SQL do Windows Azure (versão inicial até a versão atual).

Comentários

Tipo de dados

Intervalo

Armazenamento

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

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.

Tabela de símbolos de moeda, valores hexadecimais

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

ALTER TABLE (Transact-SQL)

CAST e CONVERT (Transact-SQL)

CREATE TABLE (SQL Server)

Tipos de dados (Transact-SQL)

DECLARE @local\_variable (Transact-SQL)

SET @local\_variable (Transact-SQL)

sys.types (Transact-SQL)