money 和 smallmoney (Transact-SQL)
适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
Analytics Platform System (PDW)
代表货币或货币值的数据类型。
备注
数据类型 | 范围 | 存储 |
---|---|---|
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 个字节 |
smallmoney | -214,748.3648 到 214,748.3647 | 4 个字节 |
money 和 smallmoney 数据类型精确到它们所代表的货币单位的万分之一。 对于 Informatica,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)
另请参阅
ALTER TABLE (Transact-SQL)CAST 和 CONVERT (Transact-SQL)CREATE TABLE (Transact-SQL)数据类型 (Transact-SQL)DECLARE @local_variable (Transact-SQL)SET @local_variable (Transact-SQL)sys.types (Transact-SQL)
反馈
提交和查看相关反馈