1. 程式人生 > >oracle的decimal和number的對比

oracle的decimal和number的對比

oracle的decimal和number的對比

 

 

 

Oracle只是在語法上支援decimal型別,但是在底層實際上它就是number型別,支援decimal型別是為了能把資料從Oracle資料庫移到其他資料庫中(如DB2等)。

 因為decimal在Oracle底層就是number型別,所以就當number型別使用就可以了,如果需要對這種欄位型別轉為char型別可以用to_char函式對其轉換。

decimal型別從根本上說應該是數字型別的,因為oracle內部的資料型別,對於數字只有number型別,都當數字型別進行處理即可。decimal(8,2)代表數字總共8位長度,小數部分是2位。範圍是8位,精確到小數點後2位,並四捨五入,即存6位整數,兩位小數。也就是最大值可以是999999.99,可存放2位小數。Oracle中,可以使用to_char函式對數字進行轉換,使它變成字元型別.

select cast('111.11' as number(8,2)) from dual;

select cast('111.11' as decimal(8,2)) from dual;

 

 

cast 是進行型別轉換的, 可以針對各種Oracle資料型別. 修改的是使用者的資料型別.

number只是修改的資料顯示格式. 對資料做四捨五入. 類似的函式還有ceil(取此資料的最小整數). trunc( 取整函式.)