FLOAT
数据类型是具有精度(precision)的 NUMBER
数据类型的子类型,需要占 4~40 字节存储空间。它的精度是按二进制有效位数计算的,范围为 1~126,小数位数不可自定义。FLOAT
类型为变长、非精确数值类型。
FLOAT [(p)]
参数 |
定义 |
范围 |
说明 |
---|---|---|---|
p |
精度 |
1~126 |
定义数值精度,按二进制有效位数计算,转换为十进制精度要乘以 0.30103。 |
说明
- 二进制精度转换为十进制精度的换算关系:
十进制精度 = int(二进制精度 x 0.30103)
。
- 十进制精度转换为二进制精度的换算关系:
二进制精度 = int(十进制精度 x 3.32193)
。
FLOAT(2)
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
浮点数字。
RR日期时间格式化元素类似于YY日期时间格式化元素,但它为跨世纪日期值存储提供了额外的灵活性。在YY日期时间格式化...
USE_MERGE HintUSE_MERGEHint 指示优化器使用一个sort-merge联接将每个指定的表与另一个行资源联接起来。建议在使用US...
以下是一些有用的用来命名对象及其部分的准则:使用完整的、描述性的、可发音的名称或众所周知的缩写。使用一致的命名规则。使用...
这是用于启动本地服务的LocalRemoteObject抽象。嵌套类摘要从接口ohos.rpc继承的嵌套类/接口。IRemoteObjectIRemoteObject.Death...
鸿蒙OS Service模板的Ability基本概念鸿蒙OS 创建Service鸿蒙OS 启动Service鸿蒙OS 连接Service鸿蒙OS 生命周期鸿蒙OS 前台Servi...
要为操作系统注册一个Windows事件日志库,发出这个命令:regsvr32 pgsql_library_directory/pgevent.dll这会创建被事件查看器使...