当前位置:首页 > SCHOOL > Oracle字典 > 正文内容

Oracle Float

admin3年前 (2022-03-26)Oracle字典2180

本教程将向您介绍Oracle 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 FLOATOracle FLOAT
FLOATFLOAT(126)
REALFLOAT(63)
DOUBLE PRECISIONFLOAT(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)。

 您阅读本篇文章共花了: 

免责声明
本站内容均为博客主本人日常使用记录的存档,如侵犯你的权益请联系:lifei@zaiheze.com 546262132@qq.com 沟通删除事宜。本站仅带访问端口形式使用,已杜绝搜索引擎爬取。
返回列表

上一篇:Oracle Number数字

下一篇:Oracle Char

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。