oracle的數值數據類型和兼容細分類型
阿新 • • 發佈:2019-03-13
num ima 分類 double 精度 int 技術分享 real 目前
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)類型。
oracle的數值數據類型和兼容細分類型