本教程將向您介紹Oracle FLOAT
數據類型,並演示如何將FLOAT
類型應用於表定義浮點數的字段(列)。
Oracle FLOAT數據類型介紹
Oracle FLOAT
數據類型是NUMBER
數據類型的子類型。 其主要目的是促進與ANSI SQL FLOAT
數據類型的相容。
以下顯示FLOAT
數據類型的語法:
FLOAT(p)
我們只能指定FLOAT
數據類型的精度。不能指定尺度,因為Oracle資料庫從數據中解析尺度的。 FLOAT
的最大精度是126
。
在FLOAT
中,精度是二進位位,而在NUMBER
中精度是十進位數。可以使用以下公式在二進位和十進位精度之間進行轉換:
P(d) = 0.30103 * P(b)
根據這個公式,因二進位精度的最大126
位數,大致等於十進位數位數的38
位數。
為了使它與SQL ANSI FLOAT相容,Oracle提供了一些別名,如下表所示:
ANSI SQL FLOAT | Oracle FLOAT |
---|---|
FLOAT | FLOAT(126) |
REAL | FLOAT(63) |
DOUBLE PRECISION | FLOAT(126) |
例如,不使用FLOAT(63)
數據類型,可以使用REAL
別名代替。
Oracle FLOAT示例
首先,為了方便演示,這裏創建一個名為float_demo
的新表:
CREATE TABLE float_demo (
f1 FLOAT(1),
f2 FLOAT(4),
f3 FLOAT(7)
);
其次,向float_demo
表中插入一個新行:
INSERT
INTO
float_demo(
f1,
f2,
f3
)
VALUES(
1 / 3,
1 / 3,
1 / 3
);
第三,從float_demo
表中查詢數據:
SELECT
*
FROM
float_demo;
執行上面查詢語句,得到以下結果 -
在這個例子中,列f1
,f2
和f3
的數據類型是FLOAT(1)
,FLOAT(4)
和FLOAT(7)
。 因此,列f1
,f2
和f3
的相應精度為1(1 * 0.30103)
,2(4 * 0.30103)
和3(7 * 0.30103)
。
在本教學中,您已經瞭解了Oracle FLOAT
數據類型以及如何將其應用於定義表的浮點數的列列。
上一篇:
Oracle Number類型
下一篇:
Oracle Char類型