oracle字段类型NUMBER(38,3),括号中两个数字分别表示什么?

如题所述

第1个回答  2022-11-16

38表示这个数据的有效位数(精度),3表示三个小数位(刻度)。

oracle中number数据类型可以表示为:NUMBER (p,s),其中p和s范围:

p:1-38 

s:-84-127

number(p,s),s大于0,表示有效位最大为p,小数位最多为s,小数点右边s位置开始四舍五入,若s>p,小数点右侧至少有s-p个0填充(必须从小数点处开始并连续)。

number(p,s),s小于0,表示有效位最大为p+|s|,没有小数位,小数点左边s位置开始四舍五入,小数点左侧s位,每一位均为0。

扩展资料:

NUMBER类型的子类

1、oracle本来就没有int类型,为了与别的数据库兼容,新增了int类型作为number类型的子集。

2、int类型只能存储整数;number可以存储浮点数,也可以存储整数。

3、在oracle数据库建表的时候,decimal,numeric不带精度,oracle会自动把它处理成INTEGER;带精度,oracle会自动把它处理成number。

4、Oracle只用NUMBER(m,n)就可以表示任何复杂的数字数据。

5、decimal,numeric,int等都为SQL、DB2等数据库的数据类型,ORACLE为了兼容才将其引入;但实际上在ORACLE内部还是以NUMBER的形式将其存入。

相似回答