oracle数字类型num比较大小,关于类型:Oracle NUMBER比较

oracle数字类型num比较大小,关于类型:Oracle NUMBER比较通常,在编程中,不应比较浮点数据类型的相等性,因为存储的值通常是近似值。由于两个非整数的OracleNUMBER值存储方式不同(基数为10),是否可以可靠地比较它们的相等性?是的,OracleNUMBER类型是精确的。与浮点/双精度类型相比,它们更像是带刻度的整数。因此NUMBER(10,3)具有10位数字,在小数点后3位,这实际上是10位整数,小数位数为3。实际上,这就是JavaBig…

大家好,又见面了,我是你们的朋友全栈君。

通常,在编程中,不应比较浮点数据类型的相等性,因为存储的值通常是近似值。

由于两个非整数的Oracle NUMBER值存储方式不同(基数为10),是否可以可靠地比较它们的相等性?

是的,Oracle NUMBER类型是精确的。 与浮点/双精度类型相比,它们更像是带刻度的整数。 因此NUMBER(10,3)具有10位数字,在小数点后3位,这实际上是10位整数,小数位数为3。实际上,这就是Java BigDecimals的工作方式的精确之处(内部是BigInteger加上小数位数)。

有任何可用的文档吗?

download.oracle.com/docs/cd/B19306_01/server.102/b14220/

不,它们不精确。

如果两个NUMBER类型包含一个数字(例如10.32)并且您将它们进行比较,则它们将相等,并且无论如何获取10.32都无关紧要。 这与浮点数不同。 在NUMBER类型中为0.1 + 0.1 + 0.1 + 0.1 + 0.1 = 0.5,但在浮点数学中则不需要。 这就是我所说的精确值(假设NUMBER类型的小数位数至少为1)。

Quassnoi,请详细说明。

Oracle NUMBER类型存储为一组百位数(即base 100,而不是base 10),每个字节一位。

第一个字节代表指数,其他字节代表尾数。

这意味着对于非常大的数字,甚至整数也可以取整:

SELECT  10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 –

10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001

FROM    dual

0

Oracle可以保证NUMBER中的38位精度,尽管可以表示40位。 有关参考,请参见Oracle Concepts。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163910.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java下载文件的几种方式「建议收藏」

    Java下载文件的几种方式「建议收藏」1.以流的方式下载.publicHttpServletResponsedownload(Stringpath,HttpServletResponseresponse){try{//path是指欲下载的文件的路径。Filefile=newFile(path);//取得文件名…

    2022年7月9日
    40
  • 什么叫杂谈(e网杂谈)

    本文基于JDK1.8,使用的收集器为ParNew+CMS前言这篇文章的起因是这样的,在上周五凌晨很苦逼得参加双十一压测值班的时候,有个业务方突然打电话来说我们提供的客户端存在内存泄漏问题导致线上应用持续fullgc,本来已经快要睡着的我立马就精神起来了,一通排查,最终定位到了确实是客户端有个bug会导致部分数据会被一直持有进入老年代之后gc不掉,从而就导致了老年代的频繁gc,具…

    2022年4月12日
    82
  • C#多线程

    C#多线程C#多线程简单示例Thread类构造函数可以传入一个委托,作为线程调用的方法。1usingSystem;2usingSystem.Threading;34namespaceTes

    2022年7月2日
    28
  • PLSQLDeveloper14连接Oracle11g

    PLSQLDeveloper14连接Oracle11g提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、环境配置1.安装PLSQLDeveloper142.下载并解压Oracle客户端3.配置window操作系统环境变量二、工具配置1.Oracle客户端配置2.PLSQLDeveloper14配置3.重启PLSQLDeveloper14客户端结尾一、环境配置1.安装PLSQLDeveloper14官网自行下载,不详细阐述2.下载并解压Oracle客户端例如版本:instantclient-basic-nt-19.8.0

    2022年5月22日
    36
  • 亲测无限坐席在线客服系统源码,基于ThinkPHP的一款在线客服系统源码

    亲测无限坐席在线客服系统源码,基于ThinkPHP的一款在线客服系统源码源码简介东西没问题,和别人换的本来说是多语言带机器人翻译之类的,给了个这。。。直接一键安装的,启动两个端口就行了,安装倒是简单编号:ym270品牌:无语言:PHP大小:34.5MB类型:在线客服系统支持:pc+wap亲测无限坐席在线客服系统源码,基于ThinkPHP的一款在线客服系统源码,直接一键安装的,启动两个端口就行了。安装教程:PHP5.6+MySQL5.5+设置网站运行目录为public,配置伪静态规则为thinkphp访问/install.php安装即可亲测无限坐席

    2022年7月19日
    17
  • Oracle数据库 – 安装教程[通俗易懂]

    Oracle数据库 – 安装教程[通俗易懂]Oracle安装,不断试错,总结经验,分享、看一次安装成功

    2022年10月25日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号