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( 取整函數.)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM