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

S’APPLIQUE À : ouiSQL Server ouiAzure SQL Database ouiAzure SQL Data Warehouse ouiParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Types de données représentant des valeurs monétaires ou des devises.Data types that represent monetary or currency values.

NotesRemarks

Type de donnéesData type PlageRange StockageStorage
moneymoney -922 337 203 685 477,5808 à 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
à 922 337 203 685 477,58 pour Informatica.to 922,337,203,685,477.58 for Informatica. Informatica prend uniquement en charge deux décimales, et non quatre.)Informatica only supports two decimals, not four.)
8 octets8 bytes
smallmoneysmallmoney -214 748,3648 à 214 748,3647- 214,748.3648 to 214,748.3647 4 octets4 bytes

Les types de données money et smallmoney sont précis à un dix millième près des unités monétaires qu’ils représentent.The money and smallmoney data types are accurate to a ten-thousandth of the monetary units that they represent. Pour Informatica, les types de données money et smallmoney sont précis à un centième près des unités monétaires qu’ils représentent.For Informatica, the money and smallmoney data types are accurate to a one-hundredth of the monetary units that they represent.

Utilisez un point pour séparer les unités monétaires partielles, comme les centimes, des unités monétaires entières.Use a period to separate partial monetary units, like cents, from whole monetary units. Par exemple, 2.15 signifie 2 dollars et 15 cents.For example, 2.15 specifies 2 dollars and 15 cents.

Ces types de données peuvent utiliser n'importe lequel des symboles monétaires suivants.These data types can use any one of the following currency symbols.

Table de symboles monétaires, valeurs hexadécimalesTable of currency symbols, hexadecimal values

Les valeurs de devise ou les données monétaires ne doivent pas être mises entre guillemets simples (').Currency or monetary data does not need to be enclosed in single quotation marks ( ' ). Il est important de garder en mémoire que bien que vous puissiez spécifier des valeurs monétaires précédées d'un symbole de devise, SQL ServerSQL Server ne stocke pas les informations de devise associées au symbole, mais uniquement la valeur numérique.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.

Conversion de données moneyConverting money data

Lors de la conversion de types de données integer en money, les unités sont supposées être des unités monétaires.When you convert to money from integer data types, units are assumed to be in monetary units. Par exemple, la valeur entière 4 est convertie en équivalent money de 4 unités monétaires.For example, the integer value of 4 is converted to the money equivalent of 4 monetary units.

L’exemple suivant convertit les valeurs smallmoney et money respectivement en types de données varchar et decimal.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';  

Voici l'ensemble des résultats.Here is the result set.

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

Voir aussiSee also

ALTER TABLE (Transact-SQL) CAST et CONVERT (Transact-SQL) CREATE TABLE (Transact-SQL) Types de données (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)