把字段类型设计成float(2)后,插入数据93.5,后,为什么变成了90?

为了表明

这个疑问

,咱们

先来看一段话:Oracle Online Help 说:FLOAT(b) specifies a floating-point number with binary precision b. The precision b can range from 1 to 126. To convert from binary to decimal precision, multiply b by 0.30103。

根据这段话,咱们

能够

看到,float(2)中的2是一个binary precision,而不是咱们

常用的decimal precision。他们之间的换算联系

是:binary precision=int(b*0.30103),因此咱们

这里实际上的精度应该等于int(2*0.30103)=0,即小数点后精度为0。

回到咱们

原来的疑问

,93.5化成浮点型9.35*10^1,这时9.35小数点后精度为0,成9,因此结尾

变成9*10^1=90。

类似的,咱们

能够

设计成float(10),那么int(10*0.30103)=3,因此,假如

插入93.5,就得出9.35--精度为3-->9.350,9.350*10^1=93.5。假如

插入13884.2,得出1.38842--精度为3-->1.388,1.388*10^4=13880。

咱们

能够

从以下测试更加清楚的看到这样的换算准则

Connected to Oracle9i Enterprise Edition Release 9.0.1.1.1

Connected as aspire

SQL>

SQL> CREATE TABLE hjm_float_test

2 (a FLOAT(2),

3 b FLOAT(10),

4 c FLOAT,

5 d NUMBER);

Table created

SQL> INSERT INTO hjm_float_test(a,b,c,d) VALUES(93.5,93.5,93.5,93.5);

1 row inserted

SQL> INSERT INTO hjm_float_test(a,b,c,d) VALUES(93.665,93.665,93.665,93.665);

1 row inserted

SQL> INSERT INTO hjm_float_test(a,b,c,d) VALUES(96.5,96.5,96.5,96.5);

1 row inserted

SQL> INSERT INTO hjm_float_test(a,b,c,d) VALUES(13884.2,13884.2,13884.2,13884.2);

1 row inserted

SQL> COMMIT;

Commit complete

SQL> SELECT * FROM hjm_float_test;

A B C D

---- ------------ -------------------------------------------------------------------------------- ----------

90 93.5 93.5 93.5

90 93.67 93.665 93.665

100 96.5 96.5 96.5

1000 13880 13884.2 13884.2

SQL> desc hjm_float_test;

Name Type Nullable Default Comments

---- ------ -------- ------- --------

A FLOAT Y

B FLOAT Y

C FLOAT Y

D NUMBER Y

SQL>

请特别留心

的是,虽然我在设计表的时刻

设计成了float(2)、float(10),但是当我在desc表(代码结尾

7列)的时刻

却是看不到这样的设计结构的,这样的疑问

须要

尤其惹起

留心

!!

结尾

,让咱们

回顾一下,记得

float(b)中的b是二进制的精度,他的换算准则

是binary precision=int(b*0.30103)。

oracle浮点型数据类型,ORACLE的数据类型float(b)相关推荐

  1. oracle 赋值表数据类型,PL/SQL数据类型及操作符

    标量(scalar)数据类型 标量(scalar)数据类型没有内部组件,他们大致可分为以下四类: . number . character . date/time . boolean 表1显示了数字数 ...

  2. oracle钱用什么数据类型,Oracle常用数据类型说明

    类型 含义 存储描述 备注 CHAR 固定长度字符串 最大长度2000bytes VARCHAR2 可变长度的字符串, 最大长度4000bytes 可做索引的最大长度749 NCHAR 根据字符集而定 ...

  3. oracle 测试数据类型,oracle修改表字段的数据类型测试

    oracle修改表字段的数据类型的测试 思路 将要更改类型的字段名改名新字段以备份: 根据需求,添加一个与要更改类型的字段名同名的字段(原字段已经改名), 然后更新数据, 最后删除改名备份的字段 脚本 ...

  4. Oracle INTERVAL DAY TO SECOND数据类型

    INTERVAL DAY TO SECOND数据类型 Oracle语法: INTERVAL '{ integer | integer time_expr | time_expr }' { { DAY ...

  5. Oracle中的常用的数据类型

    Oracle中的常用的数据类型: 1.字符类型: 字符串数据类型还可以依据存储空间分为固定长度的"char",和可变长度类型的vachar.nvchar两种: Char类型: Ch ...

  6. java mysql nclob_java语言操作Oracle数据库中的CLOB数据类型 (转)

    java语言操作Oracle数据库中的CLOB数据类型 (转)[@more@] 有关字段类型的相关信息可以查阅oracle技术网.下面摘抄一些有关blob.clob等类型的说明.又便于大家的了解. 字 ...

  7. oracle修改字段的默认,oracle系统默认的账号ORACLE修改表字段的数据类型

    ORACLE修改表字段的数据类型 项目需求变更,需要用到备用字段,开始以为是这样改表的: alter table tablename alter column colname newDataType ...

  8. 【Oracle】TYPE定义的数据类型

    目录 一.TYPE定义的数据类型 1.1 语法 1.2 定义RECORD记录 1.3 定义TABLE类型 1.3.1 定义单列多行的数据集合 1.3.2 定义多列多行的数据集合 二.%TYPE %RO ...

  9. Oracle: 一、Oracle简介,安装,基本使用,建表增删改查,数据类型及常用命令...

    内容简介 一.Oracle简介,安装,基本使用,建表增删改查,数据类型及常用命令. 技术与环境 操作系统: windows 语言类别: SQL之PL/SQL 特别鸣谢: 由马云涛老师提供资料 数据库: ...

  10. oracle 快速上手,Oracle学习笔记:快速上手

    开启服务:先开启Lisenterner服务 再开启ORCL服务 oracle登录 用户: - 管理员 sysDBA - 无密码 - 系统用户 system - manager - 普通用户 scott ...

最新文章

  1. DOS call 中的%cd%,当前文件夹演示
  2. 通过SolrJ 4.9管理Solr core
  3. 淘宝店铺图片数据迁移核心代码
  4. c# combobox集合数据不显示_Excel也能玩转百万数据
  5. 13位数字转日期 oracle_12amp;13. 整数转罗马数字 - 中等amp;简单
  6. fpga结构主体_两大FPGA公司的“AI技术路线”
  7. 请列举中图片内存处理的六种方法,并简单介绍
  8. linux账户管理代码和截图,linux 用户管理(示例代码)
  9. 职工工作量c语言调试分析,c语言职工工作量统计
  10. win7下安装sqlServer2000
  11. 国产数据库 OceanBase 二次刷榜 TPC-C,7 亿 tpmC
  12. 地图测量面积工具app_面积测量精灵手机版下载
  13. decode,encode的用法
  14. タイトル キャッスルファンタジア ~エレンシア戦記~リニューアル 艾伦西亚战记(艾伦希亚战记)日文攻略...
  15. 关于VSCode编码:自动猜测编码字符集
  16. 聚类算法:K-means算法
  17. 移动端UI一致性解决方案
  18. [进阶]-多线程、多进程、异步IO实用例子
  19. 批量修改文件后缀名(扩展名格式),操作简单1行命令搞定!
  20. 服务器硬盘红灯常亮_服务器硬盘灯常亮红色

热门文章

  1. webrtc中的网络反馈与控制
  2. 【已解决】vue自定义设置项目启动端口号及查看端口是否被占用
  3. 特征选择—过滤法(Filter)、嵌入法(Embedded)和包装法(Wrapper)
  4. 如何优雅的编写Dockerfile
  5. I/HwPointEventFilter: do not support AFT because of no config
  6. headers.Authorization = `Bearer ${token}` 为什么要加Bearer
  7. k3刷梅林5g信号不稳定_华硕AC86U路由器最佳设置(解决5G信号断流和米家设备掉线的问题)...
  8. python如何把八进制转换成十进制_Python练习实例82 | 八进制数如何转化为十进制数?...
  9. keytool及apksigner常用指令
  10. Conv3d 3D卷积