数字数据类型
数字(精度、刻度)
a)精度代表数字中的有效位;如果没有指定精度,Oracle将使用38作为精度。
B)如果刻度大于0,则表示数字是精确到小数点的右位;默认情况下,刻度被设为0;如果刻度小于零,Oracle将把该数字移到小数点左边的指定数字。
(c)精度值的范围是{ 1 - 38 };刻度值的范围为{ - 84 - 127 }。
(d)整数整数部分的长度允许是(精度-刻度),而不管标度是正的还是负的。
如果精度小于刻度,则存储是一个没有整数的十进制数。
f表示有效数字的有效数字:首先从左到0计数,减去小数点不包含有效位数;刻度表示如何精确,精确到小数点指左或右数字(+决定)。
g)数值值类型:示例:






实际值

数据类型

存储值


一百二十三万四千五百六十七点八九

数

一百二十三万四千五百六十七点八九


一百二十三万四千五百六十七点八九

数字(8)

一百二十三万四千五百六十七


一百二十三万四千五百六十七点八九

数字(6)

错误


一百二十三万四千五百六十七点八九

数(9,1)

一百二十三万四千五百六十七点九


一百二十三万四千五百六十七点八九

数(9)

错误


一百二十三万四千五百六十七点八九

数(7,2)

错误


一百二十三万四千五百六十七点八九

编号(5,- 2)

一百二十三万四千六百


一百二十三万四千五百一十一点八九

编号(5,- 2)

一百二十三万四千五百


一百二十三万四千五百六十七点八九

编号(5,- 4)

一百二十三万


一百二十三万四千五百六十七点八九

编号(*,1)

一百二十三万四千五百六十七点九


零点零一二

数字(2,3)

零点零一二


零点二三

数字(2,3)

错误
h)至于精确度,刻度也可以表示如下
定点数(p)和标度(s)的精度遵循下列规则:
1)当一个数的整数部分的长度> P-S,Oracle会犯错误
2)当数字的小数部分的长度为s时,Oracle将被舍入。
3)当S(刻度)为负数时,Oracle将小数点左边的s数舍入出来。
4)当p,p表示小数点后s位左向左的最大位数。如果大于p,Oracle将报告错误,右数字的s数字将在小数点后舍入。

数字类型的子类
)Oracle没有int类型,为了与其他数据库兼容,int类型作为数字类型的子集添加。
B)int类型只能存储整数;数字可以存储浮点数,并且可以存储整数。
(c)在oracle数据库中建立表时,十进制、数字没有精度。Oracle自动将其处理为整数。如果准确,Oracle会自动将其处理成数字。
d)Oracle只能用数字(m,n)表示任何复杂的数字数据。
e、十进制、数字、int等都是SQL、DB2和其他数据库的数据类型,Oracle被引入到兼容性中,但事实上Oracle仍然以数字的形式存储。