money 和 smallmoney (Transact-SQL)
代表货币或货币值的数据类型。
数据类型 |
范围 |
存储 |
---|---|---|
money |
-922,337,203,685,477.5808 到 922,337,203,685,477.5807 |
8 字节 |
smallmoney |
-214,748.3648 到 214,748.3647 |
4 字节 |
注释
money 和 smallmoney 数据类型精确到它们所代表的货币单位的万分之一。
用句点分隔局部货币单位(如美分)和总体货币单位。 例如,2.15 表示 2 美元 15 美分。
这些数据类型可以使用下列任意一种货币符号。
货币数据不需要用单引号 (') 引起来。 请务必记住虽然您可以指定前面带有货币符号的货币值,但 SQL Server 不存储任何与符号关联的货币信息,它只存储数值。
转换 money 数据
如果将整型数据类型转换为 money,则假设采用货币单位。 例如,整数值 4 被转换为相当于 4 个货币单位的 money 值。
下面的示例将 smallmoney 和 money 值分别转换为 varchar 和 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';
下面是结果集:
SM_MONEY VARCHAR MONEY DECIMAL
------------------------------ ----------------------
3148.29 3148
(1 row(s) affected)
请参阅
参考
DECLARE @local\_variable (Transact-SQL)