意思是: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的整数。
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表示整数。
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可以存储浮点数,也可以存储整数;
转自: 博客
第一个参数代表长度,第二个代表精度,number(10,0)代表长度为10的整数。
10位长整数。
10是精度,0是小数位数