oracle随记

来源:互联网 发布:语音网络类型 unkown 编辑:程序博客网 时间:2024/06/05 08:29

Oracle中Number类型数据说明

number(p,s) p:1~38  s:-84~127 
最高整数位数=p-s 
s正数,小数点右边指定位置开始四舍五入 
s负数,小数点左边指定位置开始四舍五入 
s是0或者未指定,四舍五入到最近整数 
当p小于s时候,表示数字是绝对值小于1的数字,且从小数点右边开始的前s-p 位必须是0,保留s位小数。 

p>0,对s分2种情况: 
1. s>0 
精确到小数点右边s位,并四舍五入。然后检验有效数位是否<=p;如果s>p,小数点右边至少有s-p个0填充。 
2. s<0 
精确到小数点左边s位,并四舍五入。然后检验有效数位是否<=p+|s| 
比如 
Value     Datatype     Stored Value 
123.2564    NUMBER    123.2564 
1234.9876    NUMBER(6,2)    1234.99 
12345.12345    NUMBER(6,2)    Error 
1234.9876    NUMBER(6)    1235 
12345.345    NUMBER(5,-2)    12300 
1234567    NUMBER(5,-2)    1234600 
12345678    NUMBER(5,-2)    Error 
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)    <>


原创粉丝点击