博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle数据类型number(m,n)
阅读量:4310 次
发布时间:2019-06-06

本文共 1419 字,大约阅读时间需要 4 分钟。

Oracle中数据类型number(m,n)中m表示的是所有有效数字的位数,n表示的是小数位的位数。m的范围是1-38,即最大38位。

1> .NUMBER类型细讲:

Oracle   number   datatype  

语法:NUMBER[(precision   [, scale])]

简称:precision   -->   p 

   scale   -->   s

 

NUMBER(p,   s)

范围:   1   <=   p   <= 38, 

       -84   <=   s   <= 127

保存数据范围: -1.0e-130   <= number value  <   1.0e+126        
保存在机器内部的范围:   1   ~   22   bytes

 

有效位:从左边第一个不为0的数算起的位数。

s的情况:
s   >   0
      精确到小数点右边s位,并四舍五入。然后检验有效位是否   <=   p。
s   <   0
      精确到小数点左边s位,并四舍五入。然后检验有效位是否   <=   p   +   |s|。
s   =   0
      此时NUMBER表示整数。

 

eg:

Actual   Data       Specified   As     Stored   As
----------------------------------------
123.89                       NUMBER            123.89
123.89                       NUMBER(3)           124
123.89                       NUMBER(6,2)       123.89
123.89                       NUMBER(6,1)       123.9
123.89                       NUMBER(4,2)       exceeds   precision   (有效位为5,   5   >   4)
123.89                       NUMBER(6,-2)     100
.01234                       NUMBER(4,5)       .01234   (有效位为4)
.00012                       NUMBER(4,5)       .00012
.000127                      NUMBER(4,5)       .00013
.0000012                     NUMBER(2,7)       .0000012
.00000123                    NUMBER(2,7)       .0000012
1.2e-4                       NUMBER(2,5)       0.00012
1.2e-5                       NUMBER(2,5)       0.00001
123.2564                     NUMBER                 123.2564
1234.9876                    NUMBER(6,2)       1234.99
12345.12345                  NUMBER(6,2)       Error   (有效位为5+2   >   6)
1234.9876                    NUMBER(6)           1235   (s没有表示s=0)
12345.345                    NUMBER(5,-2)     12300
1234567                      NUMBER(5,-2)     1234600
12345678                     NUMBER(5,-2)     Error   (有效位为8   >   7)
123456789                    NUMBER(5,-4)     123460000
1234567890                   NUMBER(5,-4)     Error   (有效位为10   >   9)
12345.58                     NUMBER(*,   1)     12345.6
0.1                          NUMBER(4,5)       Error   (0.10000,   有效位为5   >   4)
0.01234567                   NUMBER(4,5)       0.01235
0.09999                      NUMBER(4,5)       0.09999

 

 

载自:http://www.linuxidc.com/Linux/2010-10/29309.htm

转载于:https://www.cnblogs.com/vincentzee/p/4736530.html

你可能感兴趣的文章
!!在JS中代表什么
查看>>
Oracle 中的sql函数以及分页
查看>>
Android 发送邮件时遭遇 : no object DCH for MIME type multipart/mixed
查看>>
Android 动画学习小结
查看>>
GizpAttribute
查看>>
Redis安装教程
查看>>
centos yum install redis
查看>>
DBUtils数据库连接池
查看>>
underscore.js _.each[Collections]
查看>>
if...else if switch分支结构
查看>>
前端页面卡顿?或是DOM操作惹的祸,需优化代码
查看>>
JS的节流、防抖及使用场景
查看>>
列表Liist
查看>>
ORACLE操作列
查看>>
LeetCode 136. 只出现一次的数字(Single Number)
查看>>
css实现下拉列表
查看>>
安卓开发之SimpleAdapter的使用
查看>>
Mac配置环境变量(Java,Android,Gradle,Nodejs,MongoDB,Maven,Hosts)
查看>>
jstl 标签 循环 序号
查看>>
[SICP] 求值规则
查看>>