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 值,那么插入一个非 整数值的数字时,将按照四舍五入的原则截取到整数位。
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526