Oracle中的number(10,0)是什么意思

他的取值范围是多少
2024-11-22 14:43:29
推荐回答(5个)
回答1:

意思是:Number(p)是声明一个整数,最多有10位有效数字,1位小数。

number(4,3)是表示这个数一共有4位是有效位,后面的3表示有3个是小数也就是这个数只能是1.234,这样格式的最大只能是9.999。

number(3,4)表示这个数有效位数是3位但是有四位小数也就是只能是这个格式0.0123最大只能是0.0999。

扩展资料

Number类型的用法

p(precision)为精度,精度最大值为38;

s(scale)表示小数点右边的数字个数,scale的取值范围为-84到127;

因此,Number(p)即是声明一个整数,相当于Number(p,0),即等同于int型;

例子:

Number(8,1)存储小数位为1位,总长度为8的浮点数,如果小数位数不足,则用0补全;

Number(8)存储总长度为8的整数。

回答2:

NUMBER类型详细介绍:


在Oracle中Number类型可以用来存储0,正负定点或者浮点数,可表示的数据范围在


1.0 * 10(-130) —— 9.9...9 * 10(125) {38个9后边带88个0}

的数字,当Oracle中的数学表达式的值>=1.0*10(126)时,Oracle就会报错。


Number的数据声明如下:


定点数的精度(p)和刻度(s)遵循以下规则:


当一个数的整数部分的长度> p-s 时,Oracle就会报错


当一个数的小数部分的长度> s 时,Oracle就会舍入。


当s(scale)为负数时,Oracle就对小数点左边的s个数字进行舍入。


当s > p时, p表示小数点后第s位向左最多可以有多少位数字,如果大于p则Oracle报错,小数点后s位向右的数字被舍入.


NUMBER类型细讲


Oracle number datatype 语法:NUMBER[(precision [, scale])]

简称:precision --> p

      scale     --> s


NUMBER(p, s)

范围:1 <= p <=38, -84 <= s <= 127

保存数据范围:-1.0e-130 <= number value < 1.0e+126    

保存在机器内部的范围:1 ~ 22 bytes


有效位:从左边第一个不为0的数算起的位数。

s的情况:

s > 0

   精确到小数点右边s位,并四舍五入。然后检验有效位是否<= p。

s < 0

   精确到小数点左边s位,并四舍五入。然后检验有效位是否<= p + |s|。

s = 0

   此时NUMBER表示整数。 

回答3:

Number类型的用法

Number表示说明:Number(p, s) ——声明一个定点数
其中p(precision)为精度,精度最大值为38
s(scale)表示小数点右边的数字个数,scale的取值范围为-84到127

因此,Number(p) 即是声明一个整数,相当于Number(p, 0),即等同于int型

例子:
Number(8,1)   存储小数位为1位,总长度为8的浮点数,如果小数位数不足,则用0补全;
Number(8)      存储总长度为8的整数

定点数的精度(p)和刻度(s)遵循以下规则:

当一个数的整数部分的长度 > p-s 时,Oracle就会报错
例:12345.12345   NUMBER(6,2)   Error

当一个数的小数部分的长度 > s 时,Oracle就会舍入
例:12345.58        NUMBER(*, 1)   12345.6

当s(scale)为负数时,Oracle就对小数点左边的s个数字进行舍入
例:12345.345   NUMBER(5,-2)     12300

Number与int,float等数据类型的区别
oracle本没有int类型,为了与别的数据库兼容,新增了int类型作为Number类型的子集。
1、int类型只能存储整数;
2、Number可以存储浮点数,也可以存储整数;

转自: 博客

回答4:

第一个参数代表长度,第二个代表精度,number(10,0)代表长度为10的整数。

回答5:

10位长整数。
10是精度,0是小数位数