1. 程式人生 > >oracle的數值數據類型和兼容細分類型

oracle的數值數據類型和兼容細分類型

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的數值數據類型和兼容細分類型