Oracle数字的3种基本类型介绍
创始人
2024-06-29 03:41:37
0次

Oracle数字的3种基本Oracle Number类型,即 ,NUMBER、BINARY_INTENER与PLS_INTEGER。NUMBER的主要功能是用来描述相关整数或是实数,但是PLS_INTEGER与BINARY_INTENER只能来描述整数。

NUMBER,是以十进制格式进行存储的,它便于存储,但是在计算上,系统会自动的将它转换成为二进制进行运算的。它的定义方式是NUMBER(P,S),P是精度,***38位,S是刻度范围,可在-84127间取值。例如:NUMBER(5,2)可以用来存储表示-999.99999.99间的数值。P、S可以在定义是省略,例如:NUMBER(5)、NUMBER等;

BINARY_INTENER用来描述不存储在数据库中,但是需要用来计算的带符号的整数值。它以2的补码二进制形式表述。循环计数器经常使用这种Oracle Number类型。

PLS_INTEGER和BINARY_INTENER唯一区别是在计算当中发生溢出时,BINARY_INTENER型的变量会被自动指派给一个NUMBER型而不会出错,PLS_INTEGER型的变量将会发生错误。

☆Number补充 在Oracle Number类型可以用来存储0,正负定点或者浮点数,可表示的数据范围在 1.0 * 10(-130) —— 9.99 * 10(125) {38个9后边带88个0} 的Oracle数字,当Oracle中的数学表达式的值>=1.0*10(126)时,Oracle就会报错。

 

Number的数据声明如下:

 

1)Number(p, s) 声明一个定点数 p(precision)为精度,s(scale)表示小数点右边的Oracle数字个数,精度***值为38,scale的取值范围为-84到127

 

2)Number(p) 声明一个整数 相当于Number(p, 0)

 

3)Number 声明一个浮点数 其精度为38,要注意的是scale的值没有应用,也就是说scale的指不能简单的理解为0,或者其他的数。

 

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

当s>0时(s表示小数点右边的数字的个数):

 

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

 

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

 

当s<0时(s表示小数点左边的数字的个数):

 

Oracle就对小数点左边的s个数字进行舍入。

 

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

 

Value-->Datatype-->Stored Value

 

123.2564-->NUMBER-->123.2564(不限制)

 

1234.9876-->NUMBER(6,2)-->1234.99(精确到小数点后两位)

 

12345.12345-->NUMBER(6,2)-->Error(小数点左边的有效数字长度5+小数点右边的有效Oracle数字长度2>规定精度6)

 

1234.9876-->NUMBER(6)-->1235 (等价于NUMBER(6,0))

 

12345.345-->NUMBER(5,-2)-->12300 (小数点左边两位做四舍五入)

 

12345678-->NUMBER(5,-2)-->Error (8-2>5)

 

123456789-->NUMBER(5,-4)-->123460000

 

1234567890-->NUMBER(5,-4)-->Error

 

12345.58-->NUMBER(*, 1)-->12345.6

 

0.1-->NUMBER(4,5)-->Error

 

0.01234567-->NUMBER(4,5)-->0.01235

 

0.09999-->NUMBER(4,5)-->0.09999

 

0.099996-->NUMBER(4,5)-->Error

以上的相关内容就是对Oracle 数字类型的介绍,望你能有所收获。

【编辑推荐】

  1. Oracle DRCP与PHP实际应用的区别
  2. 发挥Oracle数据库数据管理功能的3个方案
  3. Oracle 11g中***有独特点的5大特点
  4. Oracle数据库的四种实用性很强的启动方式
  5. 九大Oracle性能优化基本方法详解

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...