Oracle number数据类型的使用[通俗易懂]

Oracle number数据类型的使用[通俗易懂]需要首先明白有效位的含义:从左到右,从第一个不为零的数开始计数第一种情况:number后面都是两个正数,第一个数表示有效位,第二个数表示小数点后的位数(也就是精确度,需要进行四舍五入)例如number(2,1)存入的数据有1,0.1,1.666分析过程:存入1:要求有效位小于等于2,所以自动补充0,存入1实际上判断的是1.0是否符合条件,自然可以添加存入0….

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

需要首先明白有效位的含义:从左到右,从第一个不为零的数开始计数


第一种情况:
number后面都是两个正数,第一个数表示有效位,第二个数表示小数点后的位数(也就是精确度,需要进行四舍五入)
例如

number(2,1)

存入的数据有
1,0.1,1.666
分析过程:
存入1:要求有效位小于等于2,所以自动补充0,存入1实际上判断的是1.0是否符合条件,自然可以添加
存入0.1:要求有效位小于等于2,不需要补充0,符合条件
存入1.666:虽然要求有效位大于2,但是需要进入四舍五入,所以存入的是1.7
结论:
如果实际有效位低于所要求的有效位,可以先补充出所需的有效位,所以一般满足实际有效位低于或等于要求有效位的数都可以添加。如果实际有效位大于所要求的有效位则还需要再按照要求四舍五入后再进入判断是否符合有效位


第二种情况
第一个数为正数,第二个数为负数,表示小数点前的位数,有效位等于两位数的绝对值和
例如

number(2,-2) 

存入的数据有
1555,1555.5
分析过程:
存入1555:要求有效位小于等于2+2 = 4,符合条件,但需要对倒数第二个数进行四舍五入,所以最后存入的数为1600
存入1555.5:虽然要求有效位大于2+2 = 4,不符合条件,但是仍可以存入,猜测是忽略了小数点后的,最后存入的数为1600

结论:
大部分同上,只不过加了一个条件,小数点后不做处理直接忽略。

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

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

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


相关推荐

  • Python之sqlite3

    描述Python的数据库模块有统一的接口标准,所以数据库操作都有统一的模式(假设数据库模块名为db):1.用db.connect创建数据库连接,假设连接对象为conn2.如果该数据库操作不需

    2021年12月18日
  • 了解ACL—通配符掩码「建议收藏」

    了解ACL—通配符掩码「建议收藏」学习ACL,搞懂ACL就不能不搞定wildcardmask,通配符掩码。说简单点,通配符掩码就是0为绝对匹配,必须严格匹配才行,而1为任意,从某种意义上讲,如果一个8位上有一个1字符,那也只有两种方式,0或者1,但是如果进行组合,那么方式就多了。举例说明吧。一般我们在应用上都是进行地址块的匹配,怎么讲呢?就是说:1)对某个ABC类网进行匹配或者教通配符屏蔽2)对某个子网应用ACL。…

    2022年7月19日
  • mysql批量插入大量数据「建议收藏」

    mysql批量插入大量数据「建议收藏」mysql批量插入大量数据时间:2020年11月25日今天遇到了一个批量插入大量数据任务,然后出于小白本能,直接for-each循环插入不就好了,于是手上开始噼里啪啦一顿操作,写好了从读取excel到插入数据库的工作,于是就美滋滋的开始了自己的测试,试了一把,一次通过perfect,然后后面就悲剧了,后面发现数据量稍微大一点,速度就会很慢很慢。于是掏出自己的制胜法典,后来我在知识和海洋中获取到了两种靠谱的方法。下面一点一点讲。测试的服务器信息1核2g5m的阿里云服务器(你懂得),mysql直接装

    2022年10月5日
  • Linux解压命令「建议收藏」

    Linux解压命令「建议收藏」1.压缩命令:  命令格式:tar -zcvf  压缩文件名.tar.gz  被压缩文件名     可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。 2.解压缩命令:  命令格式:tar -zxvf  压缩文件名.tar.gz  解压缩后的文件只能放在当前的目录。 3.Linux下如何解压tar.bz2文件             在l…

    2022年6月6日
  • DS3231高精度时钟,LCD1602显示,QXmini151版本「建议收藏」

    本设计的主要任务是计时和显示。设计任务的具体要求如下:计时:第一种是通过单片机内部的定时器/计数器来实现为软时钟。第二种是通过专用的硬件时钟芯片来实现为硬时钟。 显示:第一种是数码管显示,分为静态显示和动态显示,动态显示需要占用cpu大量时间来运行,不需要复杂的驱动程序,制作成本不高。第二种是LCD1602液晶显示,能显示出较多的信息并且数字清晰,应用广泛,但是不便于观察。总设计思路阐述1.时钟方案设计及选择:目前有DS3231、DS302、DS12C887三种时钟芯片。本次设计选择DS32

    2022年4月13日
  • 自定义的delay函数

    自定义的delay函数 #include#include voidwait(intm_seconds){   clock_tendwait;   endwait=clock()+m_seconds;   while(clock()} //VC下clock_t应为doubleintmain(void){  clock_t

    2022年6月2日

发表回复

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

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