热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

深入解析Oracle数据库中的Number与Float数据类型

本文详细探讨了Oracle数据库中Number和Float数据类型的特性和使用方法。通过对比分析,解释了Number类型在精度和范围上的优势,以及Float类型在处理科学计算时的灵活性。文章还介绍了Number数据类型的语法结构及其在实际应用中的最佳实践,帮助读者更好地理解和选择合适的数据类型以满足不同的业务需求。

本文来自:http://blog.csdn.net/blackchoc/article/details/5070779

Number类型

Oracle number datatype 语法:NUMBER[(precision [, scale])]
有效为:从左边第一个不为0的数算起的位数。


scale > 0
   精确到小数点右边s位&#xff0c;并四舍五入。然后检验有效位是否 <&#61; p。
scale <0 
   精确到小数点左边s位&#xff0c;并四舍五入。然后检验有效位是否 <&#61; p &#43; |s|。
scale &#61; 0

    NUMBER表示整数

 

 

Float类型

【copy】今天有人问我&#xff0c;他把字段类型设计成float(2)后&#xff0c;插入数据93.5&#xff0c;后&#xff0c;为什么变成了90&#xff1f;

为了说明这个问题&#xff0c;我们先来看一段话&#xff08;http://www.cnoug.org/viewthread.php?tid&#61;56643&#xff09;&#xff1a;Oracle Online Help 说&#xff1a;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。

根据这段话&#xff0c;我们可以看到&#xff0c;float(2)中的2是一个binary precision&#xff0c;而不是我们常用的decimal precision。他们之间的换算关系是&#xff1a;binary precision&#xff1d;int(b*0.30103)&#xff0c;因此我们这里实际上的精度应该等于int(2*0.30103)&#61;0&#xff0c;即小数点后精度为0。


回到我们原来的问题&#xff0c;93.5化成浮点型9.35*10^1&#xff0c;这时9.35小数点后精度为0&#xff0c;成9&#xff0c;因此最后变成9*10^1&#61;90。

类似的&#xff0c;我们可以设计成float(10)&#xff0c;那么int(10*0.30103)&#61;3&#xff0c;因此&#xff0c;如果插入93.5&#xff0c;就得出9.35--精度为3-->9.350&#xff0c;9.350*10^1&#61;93.5。如果插入13884.2&#xff0c;得出1.38842--精度为3-->1.388&#xff0c;1.388*10^4&#61;13880。


推荐阅读
  • 本文详细介绍了 Flink 和 YARN 的交互机制。YARN 是 Hadoop 生态系统中的资源管理组件,类似于 Spark on YARN 的配置方式。我们将基于官方文档,深入探讨如何在 YARN 上部署和运行 Flink 任务。 ... [详细]
  • PHP 过滤器详解
    本文深入探讨了 PHP 中的过滤器机制,包括常见的 $_SERVER 变量、filter_has_var() 函数、filter_id() 函数、filter_input() 函数及其数组形式、filter_list() 函数以及 filter_var() 和其数组形式。同时,详细介绍了各种过滤器的用途和用法。 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
  • 哈密顿回路问题旨在寻找一个简单回路,该回路包含图中的每个顶点。本文将介绍如何判断给定的路径是否构成哈密顿回路。 ... [详细]
  • 本题探讨了在一个有向图中,如何根据特定规则将城市划分为若干个区域,使得每个区域内的城市之间能够相互到达,并且划分的区域数量最少。题目提供了时间限制和内存限制,要求在给定的城市和道路信息下,计算出最少需要划分的区域数量。 ... [详细]
  • 在现代Web应用中,当用户滚动到页面底部时,自动加载更多内容的功能变得越来越普遍。这种无刷新加载技术不仅提升了用户体验,还优化了页面性能。本文将探讨如何实现这一功能,并介绍一些实际应用案例。 ... [详细]
  • 本文详细介绍如何在Linux系统中配置SSH密钥对,以实现从一台主机到另一台主机的无密码登录。内容涵盖密钥对生成、公钥分发及权限设置等关键步骤。 ... [详细]
  • 本文介绍了Oracle和IBM DB2数据库管理系统当前的最新版本,包括它们的主要特点、功能改进以及发布日期。文章详细探讨了两个系统在企业级应用中的表现,并提供了对各自版本更新的重点解析。 ... [详细]
  • 本文详细介绍了 org.apache.commons.io.IOCase 类中的 checkCompareTo() 方法,通过多个代码示例展示其在不同场景下的使用方法。 ... [详细]
  • 在成功安装和测试MySQL及Apache之后,接下来的步骤是安装PHP。为了确保安全性和配置的一致性,建议在安装PHP前先停止MySQL和Apache服务,并将MySQL集成到PHP中。 ... [详细]
  • 对象自省自省在计算机编程领域里,是指在运行时判断一个对象的类型和能力。dir能够返回一个列表,列举了一个对象所拥有的属性和方法。my_list[ ... [详细]
  • 反向投影技术主要用于在大型输入图像中定位特定的小型模板图像。通过直方图对比,它能够识别出最匹配的区域或点,从而确定模板图像在输入图像中的位置。 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • 本文详细探讨了HTML表单中GET和POST请求的区别,包括它们的工作原理、数据传输方式、安全性及适用场景。同时,通过实例展示了如何在Servlet中处理这两种请求。 ... [详细]
author-avatar
手机用户2502938137
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有