科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Oracle中的IEEE754数据类型

Oracle中的IEEE754数据类型

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

  Oracle用一种不常用的NUMBER数据类型来存储数据,该类型使用BCD码(用16进制      0x99来代表十进制的99)。ANSI标准数据类型,比如INTEGER,FLOAT,以及DOUBLE都是NUMBER数据类型的别名。

作者:中国IT实验室 来源:中国IT实验室 2007年10月7日

关键字: 备份 数据库 ORACLE

  • 评论
  • 分享微博
  • 分享邮件

  Oracle用一种不常用的NUMBER数据类型来存储数据,该类型使用BCD码(用16进制
  
  0x99来代表十进制的99)。ANSI标准数据类型,比如INTEGER,FLOAT,以及DOUBLE都是NUMBER数据类型的别名。INTEGER数据类型不支持十进制,FLOAT,以及DOUBLE来约束数据以满足整数类型的数据。
  
  IEEE 754 标准格式是绝大多数计算机操作系统和程序设计中最为普通的格式。浮点型数据的内部格式通常存储为32位(浮点型)或者64位(双精度型)。
  
  当数据从数据库传递到开发语言环境时,数据需要从一种格式转化为其它的格式。当进行数据转换时,有可能造成数据精度上的丢失。同样,数据从一种类型转换为另一种类型的过程也会影响程序的性能,因为大范围的数据需要转换。
  
  在Oracle 10g中,Oracle调用接口(Oracle Call Interface),一个列,或者PL/SQL变量都可以使用BINARY_FLOAT或BINARY_DOUBLE数据类型。在开发环境中,比如Java,这些数据类型之间不需要进行数据的转换。
  
  而这其中的过程是以运行速度与精度作为交换的。Oracle内部数据能够精确地存储38个数字。IEEE 754浮点型数据只能以二进制存储7个数字,而且IEEE数据也存在“逐渐下溢(gradual underflow)”的问题,因为二进制数据通常是一些重复的数字。比如,0.1在Oracle是一个准确的数据,但当它转化为二进制时会出现很多重复的数字。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章