Compartilhar via


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.

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 (Transact-SQL)

Tipos de dados (Transact-SQL)

DECLARE @local\_variable (Transact-SQL)

SET @local\_variable (Transact-SQL)

sys.types (Transact-SQL)