Oracle中Number(p,s)的意義

weixin_34391854發表於2009-10-20

轉自: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 

相關文章