Posted on 2009-05-04 14:16
Prayer 閱讀(4838)
評(píng)論(1) 編輯 收藏 引用 所屬分類(lèi):
DB2
20071011公司的編程中,和我的同事討論了DB2的DECIMAL字段屬性的用法。
公司創(chuàng)建表的時(shí)用的是DECIMAL(13,2),我和同事認(rèn)為它為13個(gè)整數(shù)位數(shù)+2為有效數(shù)字,因?yàn)樵诖蛴°y行交易的FORM時(shí)遇到了難題。輸出和建表的長(zhǎng)度不一樣,我們以為它會(huì)打印出15為長(zhǎng)度(13位整數(shù)+2位有效數(shù)字),但是卻遇到了難題。
經(jīng)過(guò)我們的近一個(gè)小時(shí)的討論與時(shí)間,可以看出,在DECIMAL(13,2)的數(shù)據(jù)庫(kù)的插入時(shí),我們首先輸入的數(shù)據(jù)為1234567890123.99,數(shù)據(jù)庫(kù)報(bào)出錯(cuò)誤:長(zhǎng)度超出了規(guī)定長(zhǎng)度。
我們?cè)诖嘶A(chǔ)上有刪除一個(gè)整數(shù)位,123456789012.99,結(jié)果還是報(bào)長(zhǎng)度超出了范圍,經(jīng)過(guò)我們的查找資料,得到了一初步的認(rèn)證,就是整數(shù)位+小數(shù)位一共為13位,因?yàn)樵?234567890.99的數(shù)據(jù)插入中結(jié)果成功。
于是我們又試驗(yàn)了1234567890.999,結(jié)果顯示插入成功,打開(kāi)數(shù)據(jù)庫(kù)中發(fā)現(xiàn)了插入的數(shù)據(jù)在數(shù)據(jù)庫(kù)中保存的數(shù)據(jù)為1234567890.99將第三位小數(shù)位給截?cái)唷?/font>
我們得到了最后的結(jié)論,在DECIMAL(m,n)的設(shè)置中,整數(shù)的位數(shù)不能大于(m-n),但小數(shù)位可以大于n,但會(huì)從大于n的有效位開(kāi)始截?cái)唷?/strong>