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.

Table de symboles monétaires, valeurs hexadécimales

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

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)