数据库教程-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; 

执行上面查询语句,得到以下结果 –

Oracle Float类型

在这个例子中,列f1f2f3的数据类型是FLOAT(1)FLOAT(4)FLOAT(7)。 因此,列f1f2f3的相应精度为1(1 * 0.30103)2(4 * 0.30103)3(7 * 0.30103)

在本教程中,您已经了解了Oracle FLOAT数据类型以及如何将其应用于定义表的浮点数的列列。

  

从零到一,创造未来!跨零综合IT问题解决服务站,欢迎你的到来。Oracle数据库教程 只为你绽放。

本文固定链接: http://kua0.com/2019/01/17/数据库教程-oracle-float类型/

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注