Oracle的number数据类型

number数据类型

格式:number( precision , scale )
直接使用number的话,将使用40位精度
直接使用number(数字),只能用于整数

precision表示数字中的有效位;
有效数位:从左边第一个不为0的数算起,小数点和负号不计入有效位数;
scale表示精确到多少位,指精确到小数点左边或右边多少位(±决定)

如果scale大于零,表示数字精确到小数点右边的位数; scale默认设置为0;

precision的取值范围为[1—38];Scale的取值范围为[-84—127].

如果scale小于零, Oracle将把该数字取舍到小数点左边的指定位数。
number整数部分允许的长度为(precision- scale),无论scale是正数还是负数.
如果precision小于等于scale,表示存储的是没有整数的小数.

举例说明:

实际值数据类型存储值
1234567.89umber1234567.89
1234567.89number(8)1234567

只取整数部分,小数部分不看,不能大于规定的长度8

1234567.89number(9,1)1234567.9

9-1=8整数长度(不能超过),小数只要1位,小数点往右移,遵循四舍五入.

1234567.89number(5,-2)1234600

小数位为负数-2,说明小数点往左移;而且5-(-2)=7整数长度

0.1number(2,2)0.10

有效位和小数位相等,2-2=0整数长度,说明是小数,小数位2说明保留两位小数,遵循四舍五入

0.1number(2,3)0.10

2-3=-1整数长度,说明0.0开始的小数存储,保留三位小数

小结:

1.使用number时,直接使用,但是不推荐使用
2.使用number(整数位数),只能存储整数,注意不能超过整数位数
3.使用number(precision , scale)
precision表示有效位数,scale表示小数位数
整数长度:precision-scale
如果precision>scale时,说明存储的是一个正数
先找出整数长度,然后剩下的就是小数位数
如果scale>0,说明小数点往右移动,遵循四舍五入
如果scale<0,说明小数点往左移动,移动一位,该位上的数为0
如果precison<=scale,说明存储的是一个小数
就不用整数长度了,因为都小数了,找的也是<=0了
scale就表示保留的小数位数,遵循四舍五入
precision的取值范围为[1 , 38] ; Scale的取值范围为[-84 , 127]
这个precision的取值从1开始保证了它的取值一定是介于整数或者小数

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle数据类型: 1、CHAR数据类型,该类型是固定长度的字符串,如果没指定大小,则默认占用一字节,如果输入的值小于指定的长度,则数据库用空格填充至固定长度,如果用户输入的值大于指定的长度,则数据库返回错误信息 2、varchar2,用于存储可变长度的字符串,使用该数据类型可节省磁盘空间,但存储效率没有CHAR高 3、NCHAR和nvarchar2,NCHAR和CHAR区别在于NCHAR用来存储Unicode字符集类型,即双字节字符数据,CHAR是一个字节,而NCAHR是一个字符(两个字节),前者是CHAR(1)无法插入‘的’,后者是NCHAR(1)可以插入‘的’ 4、NUMBER表示数值数据类型NUMBER(P,S),P为精度,表示数据的总位数,S为范围,表示小数点右边数字的位数 5、DATE数据类型,使用7个字节固定长度,每个字节分别存储世纪,年,月,日 ,时,分,秒,ORACLE中SYSDATE函数的功能是返回当前的日期和时间 6、TIMESTAMP数据类型,和DATE相似,但是这个类型的秒精确到小数点后6位,而DATE没有秒的小数部分 7、LOB数据类型用于存储大型的,没有被结构化的数据,例如二进制文件,图片文件,LOB主要分为BLOB和CLOB,BLOB数据类型用于存储二进制对象:图像,音频,视频...CLOB数据类型用于存储字符格式的大型对象 8、ORACLE其实也支持INTEGER,FLOAT,DOUBLE,VARCHAR,最好用ORACLE自身的NUMBER 和 VARCHAR2

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值