Oracle中Number(p,s)的意义

转自:http://www.wangchao.net.cn/bbsdetail_543768.html

number(p,s)
  p:1~38
  s:-84~127
  p>0,对s分2种情况分析:
  1. s>0
  精确到小数点右边s位,并四舍五入。然后检验有效数位是否<=p;如果s>p,小数点右边至少有s-p个0填充。
  2. s<0
  精确到小数点左边|s|+1位,并四舍五入。然后检验有效数位是否<=p+|s|
  (有效数位:从左边第一个不为0的数算起)
  
  
  
  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)
  
  Error 

posted on 2009-10-20 11:22  izumi  阅读(4556)  评论(0编辑  收藏  举报

导航