本篇文章帮大家学习Oracle Float类型,包含了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;
执行上面查询语句,得到以下结果 -
在这个例子中,列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数据类型以及如何将其应用于定义表的浮点数的列列。