文档首页 > > 开发指南> SQL参考> 数据类型> 货币类型

货币类型

分享
更新时间: 2019/06/24 GMT+08:00

货币类型存储带有固定小数精度的货币金额。

表1中显示的范围假设有两位小数。可以以任意格式输入,包括整型、浮点型或者典型的货币格式。根据区域字符集,输出一般是最后一种形式。

表1 货币类型

名字

存储容量

描述

范围

money

8 字节

货币金额

-92233720368547758.08 到 +92233720368547758.07

numeric,int和bigint类型的值可以转化为money类型。如果从real和double precision类型转换到money类型,可以先转化为numeric类型,再转化为money类型,例如:

SELECT '12.34'::float8::numeric::money;

这种用法是不推荐使用的。浮点数不应该用来处理货币类型,因为小数点的位数可能会导致错误。

money类型的值可以转换为numeric类型而不丢失精度。转换为其他类型可能丢失精度,并且必须通过以下两步来完成:

SELECT '52093.89'::money::numeric::float8;

当一个money类型的值除以另一个money类型的值时,结果是double precision(也就是,一个纯数字,而不是money类型);在运算过程中货币单位相互抵消。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区