oracle的number类型 如果不指定长度默认是几位啊?

2025-03-04 04:02:39
推荐回答(4个)
回答1:

Number类型是oralce的数值类型,存储的数值的精度可以达到38位。Number是一种变长类型,长度为0-22字节。取值范围为:10^(-130) —— 10^126(不包括)。以十进制格式进行存储的,它便于存储,但是在计算上,系统会自动的将它转换成为二进制进行运算的。
语法:
Number(p,s):
p和s都是可选的。
p指精度(precision),即总位数。默认情况下精度为38。精度的取值范围为1~38。
s指小数位(scale),小数点右边的位数。小数点位数的合法值为-84~127。小数位的默认值由精度来决定。如果没有指定精度,小数位默认为最大的取值区间。如果指定了精度,没有指定小数位。小数位默认为0(即没有小数位)。
精度和小数位不会影响数据如何存储,只会影响允许哪些数值及数值如何舍入。

回答2:

可以定义长度,(5,3)代表-999.99~999.99 如果不指定的话.默认的是(?,?number默认情况下,精度为38位,取值范围1~38之间 不明白再问我,谢谢! .

回答3:

Alter Table 表名
add Constraint 约束名 check(STOCK_WAY>=0)
建完约束后 在设计表中将STOCK_WAY字段的默认值设为0

回答4:

number(5,3)表示-99.999~99.999 楼上请收起你的无知和不负责