重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

标题: SQLSERVER 有 numeric ,为什么还要有 money 类型 [打印本页]

作者: 郑全    时间: 2026-3-24 16:24
标题: SQLSERVER 有 numeric ,为什么还要有 money 类型
明明有 DECIMAL / NUMERIC 这种高精度数值类型,为什么还要专门设计一个 money 类型?



一句话结论
money 不是为了 “精度更高”,而是为了货币场景专用、自带格式、自带四舍五入规则、自带货币语义,在财务场景里比 numeric 更省事、更安全。



1. 最核心区别:语义不同

2. money 自带固定小数位,不会乱
货币永远是 固定 2 位小数(不同数据库略有差异):


好处:


而 numeric(19,4) 虽然也能做到,但需要你手动定义精度,一不小心就错。

3. money 自带货币格式化
直接查询就能输出:

$1,234.56








欢迎光临 重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2