Oracle存储数值类型的数据不区分int 、double 、float 等类型,统一使用number(p,s)来存储。
基本类型为 NUMBER(P,S)
P范围1到38
S 范围 -84 到 127
Oracle NUMBER类型能以极大的精度存储数值,具体来讲,精度可达38位。
其底层数据格式类似一种“封包小数“表示。
Oracle NUMBER类型是一种变长格式,长度为0~22字节。
它可以存储小到10e-130、大到(但不包括)10e126的任何数值。这是目前最为常用的数值类型。
与细分类型兼容规则:
FLOAT(b)浮点数 :映射至NUMBER类型。
REAL单精度浮点数 :映射至NUMBER类型。
DOUBLE PRECISION双精度浮点数 :映射至NUMBER类型。
NUMERIC(p,s): 完全映射至NUMBER(p,s)。如果p未指定,则默认为38.
DECIMAL(p,s)或DEC(p,s)小数 :完全映射至NUMBER(p,s)。如果p为指定,则默认为38.
INTEGER或INT 整数 :完全映射至NUMBER(38)类型。
SMALLINT 小整数:完全映射至NUMBER(38)类型。