创新互联OceanBase教程:OceanBaseFLOAT数据类型
FLOAT 数据类型是具有精度(precision)的 NUMBER 数据类型的子类型,需要占 4~40 字节存储空间。它的精度是按二进制有效位数计算的,范围为 1~126,小数位数不可自定义。FLOAT 类型为变长、非精确数值类型。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、虚拟空间、营销软件、网站建设、正阳网站维护、网站推广。
语法
 
FLOAT [(p)]参数
| 参数 | 定义 | 范围 | 说明 | 
|---|---|---|---|
| p | 精度 | 1~126 | 定义数值精度,按二进制有效位数计算,转换为十进制精度要乘以 0.30103。 | 
说明
- 二进制精度转换为十进制精度的换算关系: 
十进制精度 = int(二进制精度 x 0.30103)。
- 十进制精度转换为二进制精度的换算关系: 
二进制精度 = int(十进制精度 x 3.32193)。
示例
- 示例 1: 使用 FLOAT 设置二进制精度为 2,转换为十进制精度 int(2 x 0.30103) = 0.6,结果向下取整,则 FLOAT(2) 的十进制精度为 0。
 
FLOAT(2)- 示例 2:创建 test 表,并向里面插入数据。其中 col1 列是 NUMBER 类型,col2 列是FLOAT 类型。NUMBER(5,2) 表示十进制精度的定点数,有效位数为 5,结果保留小数点后 2 位。FLOAT(5) 的二进制精度为 5,转换为十进制精度为int(5 x 0.30103) = 1.50515,向下取整后十进制精度为 1。如 123.45 用科学计数法表示为 1.2345 x 102,1.2345 小数点后保留 1 位,四舍五入变为 1.2,最后显示为 1.2 x 102 = 120。执行以下语句:
 
CREATE TABLE test (col1 NUMBER(5,2), col2 FLOAT(5));
INSERT INTO test VALUES (1.23, 1.23);
INSERT INTO test VALUES (7.89, 7.89);
INSERT INTO test VALUES (12.79, 12.79);
INSERT INTO test VALUES (123.45, 123.45);执行 SELECT 语句查看 test 表,返回结果如下:
 
obclient> SELECT * FROM test;
+--------+------+
| COL1   | COL2 |
+--------+------+
|   1.23 |  1.2 |
|   7.89 |  7.9 |
|  12.79 |   13 |
| 123.45 |  120 |
+--------+------+
4 rows in set (0.00 sec)
说明
当转换 
ANSI FLOAT 数据时,您可以使用 OceanBase 数据库内部使用的 
FLOAT 数据类型。但是建议您改用 
BINARY_FLOAT 和 
BINARY_DOUBLE 浮点数字。
文章题目:创新互联OceanBase教程:OceanBaseFLOAT数据类型
网站路径:http://jxruijie.cn/article/cddhioh.html

 
                