money e smallmoney (Transact-SQL)money and smallmoney (Transact-SQL)

APLICA-SE A: simSQL Server simBanco de Dados SQL do Azure simAzure Synapse Analytics (SQL DW) simParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Tipos de dados que representam valores monetários ou de moeda.Data types that represent monetary or currency values.

RemarksRemarks

Tipo de dadosData type IntervaloRange ArmazenamentoStorage
moneymoney -922.337.203.685.477,5808 a 922.337.203.685.477,5807 (-922.337.203.685.477,58-922,337,203,685,477.5808 to 922,337,203,685,477.5807 (-922,337,203,685,477.58
a 922.337.203.685.477,58 para o Informatica.to 922,337,203,685,477.58 for Informatica. O Informatica dá suporte apenas a dois decimais, não quatro.)Informatica only supports two decimals, not four.)
8 bytes8 bytes
smallmoneysmallmoney -214.748,3648 a 214.748,3647- 214,748.3648 to 214,748.3647 4 bytes4 bytes

Os tipos de dados money e smallmoney têm a precisão de dez milésimos das unidades monetárias que eles representam.The money and smallmoney data types are accurate to a ten-thousandth of the monetary units that they represent. 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.For Informatica, the money and smallmoney data types are accurate to a one-hundredth of the monetary units that they represent.

Use um ponto para separar unidades monetárias parciais, como centavos, de unidades monetárias inteiras.Use a period to separate partial monetary units, like cents, from whole monetary units. Por exemplo, 2.15 especifica 2 dólares e 15 centavos.For example, 2.15 specifies 2 dollars and 15 cents.

Esses tipos de dados podem usar qualquer um dos seguintes símbolos de moeda.These data types can use any one of the following currency symbols.

Tabela de símbolos de moeda, valores hexadecimaisTable of currency symbols, hexadecimal values

Os dados de moeda ou monetários não precisam ser incluídos entre aspas simples ( ' ).Currency or monetary data does not need to be enclosed in single quotation marks ( ' ). É importante lembrar que apesar de você poder especificar valores monetários precedidos por um símbolo de moeda, o SQL ServerSQL Server não armazena quaisquer informações de moeda associada com o símbolo, só armazena o valor numérico.It is important to remember that while you can specify monetary values preceded by a currency symbol, SQL ServerSQL Server does not store any currency information associated with the symbol, it only stores the numeric value.

Convertendo dados moneyConverting money data

Ao fazer a conversão em money de tipos de dados inteiro, presume-se que as unidades estejam em unidades monetárias.When you convert to money from integer data types, units are assumed to be in monetary units. Por exemplo, o valor inteiro 4 é convertido no equivalente de money de 4 unidades monetárias.For example, the integer value of 4 is converted to the money equivalent of 4 monetary units.

O exemplo a seguir converte os valores smallmoney e money nos tipos de dados varchar e decimal, respectivamente.The following example converts smallmoney and money values to varchar and decimal data types, respectively.

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.Here is the result set.

SM_MONEY VARCHAR               MONEY DECIMAL  
------------------------------ ----------------------  
3148.29                        3148    
(1 row(s) affected)  

Confira tambémSee also

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)ALTER TABLE (Transact-SQL) CAST and CONVERT (Transact-SQL) CREATE TABLE (Transact-SQL) Data Types (Transact-SQL) DECLARE @local_variable (Transact-SQL) SET @local_variable (Transact-SQL) sys.types (Transact-SQL)