oracle 判断正负号,Oracle Number型的深入理解

oracle 判断正负号,Oracle Number型的深入理解NUMBER数据类型NUMBER(precision,scale)a)precision表示数字中的有效位;如果没有指定precision的话,Oracle将使用38作为精度。b)如果scale大于零,表示数字精确到小数点右边的位数;scale默认设置为0;如果scale小于零,Oracle将把该数字取舍到小数点左边的指定位数。c)Precision的取值范围为【1—38】;Sca…

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

NUMBER数据类型

NUMBER ( precision, scale)a) precision表示数字中的有效位;如果没有指定precision的话,Oracle将使用38作为精度。

b) 如果scale大于零,表示数字精确到小数点右边的位数;scale默认设置为0;如果scale小于零,Oracle将把该数字取舍到小数点左边的指定位数。

c) Precision的取值范围为【1—38】;Scale的取值范围为【-84—127】。

d) NUMBER整数部分允许的长度为(precision- scale),无论scale是正数还是负数。

e) 如果precision小于scale,表示存储的是没有整数的小数。

f) Precision表示有效位数,

有效数位:从左边第一个不为0的数算起,小数点和负号不计入有效位数;scale表示精确到多少位,指

精确到小数点左边或右边多少位(+-决定)。g)

Number值类型举例:

1234567.89

Number

1234567.89

1234567.89

Number(8)

1234567

1234567.89

Number(6)

1234567.89

Number(9,1)

1234567.9

1234567.89

Number(9,3)

1234567.89

Number(7,2)

1234567.89

Number(5,-2)

1234600

1234511.89

Number(5,-2)

1234500

1234567.89

Number(5,-4)

1230000

1234567.89

Number(*,1)

1234567.9

0.012

Number(2,3)

0.012

0.23

Number(2,3)

h) 关于precision, scale也可以作如下表述

定点数的精度(p)和刻度(s)遵循以下规则:

1) 当一个数的整数部分的长度 > p-s 时,Oracle就会报错

2) 当一个数的小数部分的长度 > s 时,Oracle就会舍入。

3) 当s(scale)为负数时,Oracle就对小数点左边的s个数字进行舍入。

4) 当s > p 时,p表示小数点后第s位向左最多可以有多少位数字,如果大于p则Oracle报错,小数点后s位向右的数字被舍入

a) oracle本来就没有int类型,为了与别的数据库兼容,新增了int类型作为number类型的子集。

b) int类型只能存储整数;number可以存储浮点数,也可以存储整数。

数据库建表的时候,decimal,numeric不带精度,oracle会自动把它处理成INTEGER;带精度,oracle会自动把它处理成number。

d) Oracle只用NUMBER(m,n)就可以表示任何复杂的数字数据。e) decimal,numeric,int等都为sql、DB2等数据库的数据类型,ORACLE为了兼容才将其引入;但实际上在ORACLE内部还是以NUMBER的形式将其存入。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/163922.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • make menuconfig执行流程分析[通俗易懂]

    make menuconfig执行流程分析[通俗易懂]在编译内核前,一般是根据已有的配置文件(一般在内核根目录下的arch/arm/configs/文件夹下,把该目录下的xxx_defconfig文件拷贝到内核根目录下,并重命名为.config)来进行编译;或者需要先配置裁剪内核。假设我们要基于一块ARM芯片的开发板配置裁剪内核时,在内核的根目录下运行:makeARCH=armmenuconfig命令后,会弹出如下配置界面:…

  • php表单加入Token防止重复提交的方法分析

    php表单加入Token防止重复提交的方法分析

    2021年10月18日
  • 解决SqlTransaction用尽的问题

    解决SqlTransaction用尽的问题解决SqlTransaction用尽的问题有时候程序处理的数据量比较小时,四平八稳,一切安然无恙,但数据量一大,原先潜伏的问题就暴露无遗了。我做的一个项目,是负责一个厂的考勤的。厂里有员工1000多号人。按每人每天打4次卡,一个月30天,则产生的考勤记录数目为1000*4*30=120,000条。在处理这些记录时,我采用的办法是先生成SQL语句,然后执行这些SQL语句:Sql…

  • android 短信验证码的实现

    android 短信验证码的实现公司用的短信验证码是Mob.com网址:http://www.mob.com进入网站注册登录之后进入后在上面有应用是让选择android还是ios之类的,点击下载SDK–选择免费短信验证SDK,下载之后大家可以在快速继承那看到官方提供的方法下面对其步骤解读下1 导入SDK短信SDK使用如下方式完成集成。具体步骤如下:将SMS_

  • java截取某个字符后面的字符串_java如何截取字符串

    java截取某个字符后面的字符串_java如何截取字符串提示:java截取某个字符之前或者之后的字符串文章目录一、java截取某个字符之前或者之后的字符串:1.截取”_”之前字符串2.截取”_”之后字符串二、截取正数第二个”_”后面的内容一、java截取某个字符之前或者之后的字符串:1.截取”_”之前字符串代码如下(示例)://java截取某个字符之前的字符串publicstaticvoidsubstringTest01(){Stringstr=”test_https://www.baidu.com/”;//截

  • 《java核心技术卷I》[通俗易懂]

    《java核心技术卷I》[通俗易懂]《java核心技术卷I》java老师讲课的内容PPT代码基本是来自于这里,感觉还不错,里面的代码也是循序渐进的。这本书本身也是老师开始讲课时推荐的或者说参考的书的第一本。

发表回复

您的电子邮箱地址不会被公开。

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