還是不懂這個number(p,s),s為負數(shù)的邏輯
如圖,字段b的數(shù)據(jù)類型是number(6,-3),但是能夠插入和顯示的數(shù)據(jù)都不止6位,plsql和sqlplus都是這樣,為什么呢
更新:
圖一插入的數(shù)據(jù)長度最大為9,圖二是10,報錯了。
重復一次,還是這樣。
所以它的邏輯是 允許寫入的整數(shù)部分的最大長度是p+s(s<0);
并且它截取3位是這樣截的整數(shù)后三位為0,第四位四舍五入,跟的小數(shù)部分的都不同,跟數(shù)學的四舍五入邏輯也不同
感覺number(p,s)這個數(shù)據(jù)類型在s的符號不同的時候都不是同一個數(shù)據(jù)類型。
2019-05-06
插入數(shù)字的整數(shù)部分最大長度應該是p-s,所以上圖能夠插入的最大長度是6-(-3)=9;
如果s為負數(shù)時,就是對小數(shù)點左邊的s個數(shù)字進行舍入。