money et smallmoney (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Types de données représentant des valeurs monétaires ou des devises.

Notes

Type de données Plage Stockage
money -922 337 203 685 477,5808 à 922 337 203 685 477,5807 (-922 337 203 685 477,58
à 922 337 203 685 477,58 pour Informatica. Informatica prend uniquement en charge deux décimales, et non quatre.)
8 octets
smallmoney -214 748 3648 à 214 748 3647 4 octets

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. 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.

Utilisez un point pour séparer les unités monétaires partielles, comme les centimes, des unités monétaires entières. Par exemple, 2.15 signifie 2 dollars et 15 cents.

Ces types de données peuvent utiliser n'importe lequel des symboles monétaires suivants.

Table of currency symbols, hexadecimal values

Les valeurs de devise ou les données monétaires ne doivent pas être mises entre guillemets simples ('). 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 Server ne stocke pas les informations de devise associées au symbole, mais uniquement la valeur numérique.

Conversion de données money

Lors de la conversion de types de données integer en money, les unités sont supposées être des unités monétaires. Par exemple, la valeur entière 4 est convertie en équivalent money de 4 unités monétaires.

L’exemple suivant convertit les valeurs smallmoney et money respectivement en types de données varchar et decimal.

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 le jeu de résultats obtenu.

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

Voir aussi

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)