money et smallmoney (Transact-SQL)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics 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
spécifie 2 dollars et 15 cents.
Ces types de données peuvent utiliser n'importe lequel des symboles monétaires suivants.
Symbole | Devise | Valeur hexadécimale |
---|---|---|
$ | Symbole dollar | 0024 |
¢ | Signe cent | 00A2 |
£ | Signe livre | 00A3 |
¤ | Signe monétaire | 00A4 |
¥ | Signe yen | 00A5 |
৲ | Marque de Rupee bengali | 09F2 |
৳ | Signe Rupee bengali | 09F3 |
฿ | Symbole monétaire thaïlandais | 0E3F |
៛ | Symbole monétaire khmère Riel | 17DB |
₠ | Signe monétaire euro | 20A0 |
₡ | Signe deux-points | 20A1 |
₢ | Signe Cruzeiro | 20A2 |
₣ | Signe franc français | 20A3 |
₤ | Signe Lira | 20A4 |
₥ | Signe de moulin | 20A5 |
₦ | Signe Naira | 20A6 |
₧ | Signe Peseta | 20A7 |
Rs | Signe Rupee | 20A8 |
₩ | Signe gagné | 20A9 |
₪ | Nouveau signe sheqel | 20AA |
₫ | Signe Dong | 20AB |
€ | Signe Euro | 20AC |
₭ | Signe Kip | 20AD |
₮ | Signe tugrik | 20AE |
₯ | Signe Drachma | 20AF |
₰ | Signe Penny allemand | 20B0 |
₱ | Signe peso | 20B1 |
﷼ | Signe Rial | FDFC |
﹩ | Signe dollar petit | FE69 |
$ | Signe Dollar de pleine largeur | FF04 |
¢ | Signe Cent de pleine largeur | FFE0 |
£ | Signe livre pleine largeur | FFE1 |
¥ | Signe Yen pleine largeur | FFE5 |
₩ | Signe Won de pleine largeur | FFE6 |
Vous n’avez pas besoin de placer les données monétaires ou monétaires entre guillemets simples ('
). Bien que vous puissiez spécifier des valeurs monétaires précédées d’un symbole monétaire, SQL Server ne stocke aucune information monétaire associée au symbole, mais stocke uniquement la valeur numérique.
Avertissement
Vous pouvez rencontrer des erreurs d’arrondi par troncation, lors du stockage des valeurs monétaires en tant qu’argent et smallmoney. Évitez d’utiliser ce type de données si vos valeurs monétaires ou monétaires sont utilisées dans les calculs. Utilisez plutôt le type de données décimal avec au moins quatre décimales.
Convertir des données d’argent
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 de celle-ci 4
est convertie en l’équivalent monétaire 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(20)) AS 'SM_MONEY VARCHAR(20)',
CAST(@mymoney AS DECIMAL) AS 'MONEY DECIMAL';
Voici le jeu de résultats. Étant donné que le type décimal dans l’exemple n’a pas d’échelle, la valeur est tronquée.
SM_MONEY VARCHAR(20) MONEY DECIMAL
------------------------------ ----------------------
3148.29 3148