Oracle Float類型

本教程將向您介紹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;

執行上面查詢語句,得到以下結果 -

在這個例子中,列f1f2f3的數據類型是FLOAT(1)FLOAT(4)FLOAT(7)。 因此,列f1f2f3的相應精度為1(1 * 0.30103)2(4 * 0.30103)3(7 * 0.30103)

在本教學中,您已經瞭解了Oracle FLOAT數據類型以及如何將其應用於定義表的浮點數的列列。


上一篇: Oracle Number類型 下一篇: Oracle Char類型