money et smallmoney (Transact-SQL)
Types de données représentant des valeurs monétaires ou des devises.
Type de données |
Plage |
Stockage |
---|---|---|
money |
-922 337 203 685 477,5808 à 922 337 203 685 477,5807 |
8 octets |
smallmoney |
-214 748,3648 à 214 748,3647 |
4 octets |
Notes
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.
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.
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 des données monétaires
Lors de la conversion en money du type de données entier (integer), les unités sont supposées être des unités monétaires. Par exemple, la valeur entière 4 est convertie par l'équivalent en money de 4 unités monétaires.
L'exemple suivant convertit les valeurs smallmoney et money respectivement en types de données varchar en 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 l'ensemble des résultats.
SM_MONEY VARCHAR MONEY DECIMAL
------------------------------ ----------------------
3148.29 3148
(1 row(s) affected)
Voir aussi
Référence
CAST et CONVERT (Transact-SQL)
Types de données (Transact-SQL)
DECLARE @local\_variable (Transact-SQL)