MDA/MDD/TDD/DDD/DDDDDDD
posts - 536, comments - 111, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

oracle的Number(p,s)的含义

Posted on 2007-07-03 21:35 leekiang 阅读(1984) 评论(0)  编辑  收藏 所属分类: oracle

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)    <>


只有注册用户登录后才能发表评论。


网站导航: