Oracle 专题
专题目录
您的位置:database > Oracle专题 > Oracle Float类型
Oracle Float类型
作者:--    发布时间:2019-11-20

本教程将向您介绍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数据类型以及如何将其应用于定义表的浮点数的列列。


网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册