暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8a集群之DECIMAL数值类型

原创 pengrander 2022-09-30
1871

DECIMAL[(M[, D])]代表一个精确值,它所存储的数值范围是-(1E+M -1)/(1E+D)到(1E+M -1)/(1E+D)。 

在 DECIMAL[(MS[, 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 值,那么插入一个非整数值的数字时,将按照四舍五入的原则截取到整数位。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论