GBase 8a
运维管理
文章

gbase8a 关于 DECIMAL

发表于2025-09-26 20:40:0168次浏览6个评论

DECIMAL[(M[, D])]代表一个精确值,它所存储的数值范围是-(1E+M -1)/(1E+D)到(1E+M -1)/(1E+D)。 在 DECIMAL[(M[, D])]数据类型中,M 是总位数,支持的最大长度为 65; D 是小数点后面的位数,支持的最大长度为 30。 在不需要过高的数字精度的场景中,DECIMAL 中的 M 可以定义为 M≤18, 这样可以获得更好的查询性能。 DECIMAL 用来存储那些严格要求数字精度的数据,例如货币数据,在这种 情况下需要指定精度: salary DECIMAL(5,2) 在 DECIMAL(5,2)中,5 表示总位数(整数位和小数位的位数总和),2 是 小数位数。可以存储在 salary 列的最小值是-999.99,最大值是 999.99。 DECIMAL 值的最大范围受限于给定的精度和小数范围。超过小数范围时, 会按四舍五入的原则截断为设定小数位数。 在定义 DECIMAL 数据列时,如果 M 和 D 同时省略,则 M 取值为 10,D 取值为 0,即 DECIMAL(10,0),如果只指定 M 值,省略 D 值,那么插入一个非 整数值的数字时,将按照四舍五入的原则截取到整数位。

评论

登录后才可以发表评论
冰凤发表于 10个月前
666
冰凤发表于 10个月前
值得学习
冰凤发表于 10个月前
感谢分享!
冰凤发表于 10个月前
受教了
冰凤发表于 10个月前
666
用户头像
levvel发表于 9个月前
学习一下