适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
分析平台系统 (PDW)
Microsoft Fabric 预览版中的 SQL 数据库
代表货币或货币值的数据类型。
Remarks
| Data type | Range | 存储 |
|---|---|---|
| money | -922,337,203,685,477.5808 到 922,337,203,685,477.5807(对于 Informatica,为 -922,337,203,685,477.58 到 922,337,203,685,477.58。 Informatica 仅支持两位小数,而不是四位。) |
8 bytes |
| smallmoney | -214,748.3648 到 214,748.3647 | 4 bytes |
money 和 smallmoney 数据类型精确到它们所代表的货币单位的万分之一。 对于 Informatica,money 和 smallmoney 数据类型精确到它们所代表的货币单位的百分之一。
用句点分隔局部货币单位(如美分)和总体货币单位。 例如, 2.15 指定 2 美元和 15 美分。
这些数据类型可以使用下列任意一种货币符号。
| Symbol | Currency | Hexadecimal value |
|---|---|---|
| $ | Dollar sign | 0024 |
| ¢ | Cent sign | 00A2 |
| £ | Pound sign | 00A3 |
| ¤ | Currency sign | 00A4 |
| ¥ | Yen sign | 00A5 |
| ৲ | 孟加拉卢比标记 | 09F2 |
| ৳ | 孟加拉卢比标志 | 09F3 |
| ฿ | 泰国泰铢货币符号 | 0E3F |
| ៛ | 高棉 Riel 货币符号 | 17DB |
| ₠ | 欧元货币符号 | 20A0 |
| ₡ | Colon sign | 20A1 |
| ₢ | Cruzeiro sign | 20A2 |
| ₣ | 法国法郎符号 | 20A3 |
| ₤ | Lira sign | 20A4 |
| ₥ | Mill sign | 20A5 |
| ₦ | Naira sign | 20A6 |
| ₧ | Peseta sign | 20A7 |
| ₨ | Rupee sign | 20A8 |
| ₩ | Won sign | 20A9 |
| ₪ | 新建谢克尔符号 | 20AA |
| ₫ | Dong sign | 20AB |
| € | Euro sign | 20AC |
| ₭ | Kip sign | 20AD |
| ₮ | Tugrik sign | 20AE |
| ₯ | Drachma sign | 20AF |
| ₰ | 德语佩妮标志 | 20B0 |
| ₱ | Peso sign | 20B1 |
| ﷼ | Rial sign | FDFC |
| ﹩ | 小美元符号 | FE69 |
| $ | 全角美元符号 | FF04 |
| ¢ | 全角 Cent 符号 | FFE0 |
| £ | 全角井号 | FFE1 |
| ¥ | 全角日元符号 | FFE5 |
| ₩ | 全角赢号 | FFE6 |
无需将货币或货币数据括在单引号中(')。 虽然可以指定货币符号之前的货币值,但 SQL Server 不存储与符号关联的任何货币信息,但它只存储数值。
Warning
将货币值存储为 货币 和 小型货币时,可以通过截断来体验舍入错误。 如果在计算中使用货币或货币值,请避免使用此数据类型。 请改用具有至少四个小数位数的 十进制 数据类型。
转换货币数据
如果将整型数据类型转换为 money,则假设采用货币单位。 例如,整数值 4 转换为 相当于 4 个货币单位的货币 。
下面的示例分别将 smallmoney 和 money 值转换为 varchar 和 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';
结果集如下。 由于示例中的十进制类型没有小数位数,因此该值将被截断。
SM_MONEY VARCHAR(20) MONEY DECIMAL
------------------------------ ----------------------
3148.29 3148