Oracle中NUMBER类型如果不指定长度和小数点精度默认是多长

如题所述

number(p,s):

p:精度位,precision,是总有效数据位数,取值范围是38,默认是38,可以用字符*表示38。
s:小数位,scale,是小数点右边的位数,取值范围是-84~127,默认值取决于p,如果没有指定p,那么s是最大范围,如果指定了p,那么s=0。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-31
number不指定长度,一般使用在存储过程中传递参数用的作为表中字段类型应该都是要设置长度的,此时number相当于sql标准中的numeric或者decimalnumber(m,0) 表示m位长度的整数number(m,n) 表示2位小数,m-n位整数
第2个回答  推荐于2016-05-18
Oracle NUMBER类型能以极大的精度存储数值,具体来讲,精度可达38位。
其底层数据格式类似一种“封包小数“表示。
Oracle NUMBER类型是一种变长格式,长度为0~22字节。
它可以存储小到10e-130,大到(但不包括)10e126的任何数值。

这是目前最为常用的数值类型。本回答被提问者和网友采纳
第3个回答  2018-03-31
number默认情况下,精度为38位
相似回答