在db2資料庫的使用過程中,遇到乙個問題:
一資料表的列設定為decimal(20,5)
但是存入的資料可能是2.1,也可以是2.212這樣精度不確定,儲存時資料庫會全部自動補齊5位小數。
decfloat 是 db2 9.5 引入的一種新的資料型別,它是一種十進位制浮點資料型別,適合處理精確的十進位制業務資料。浮點資料型別例如 real 和 double 型別都只是通過二進位制近似方式來處理十進位制資料,所以它們不適合大部分使用十進位制資料的商業應用。
decfloat 合併了 decimal 型別的精度和 float 型別的一些效能優勢,所以它是一種結果精確而且處理高效的資料型別。
decfloat 提供 16 位和 34 位兩種精度的浮點資料型別。分別為表示為 decfloat(16) 和 decfoat(34)。如果沒有指明精度,decfloat 預設為 decfloat(34)。這兩種精度的資料分別儲存在 8 位元組和 16 位元組的空間裡。
下面這個例子來說明 decfloat 型別和 decimal 型別的不同
create table employee (
salary dec(14,2),
bonus decfloat(16),
commission decfloat(34)
);insert into employee values (
123456.78,
1234567890.12,
123456789012345678901234.56
);salary
bonus
commssion
123456.78
1234567890.12
123456789012345678901234.56
如果我們插入精度更大的資料,對於 bonus 和 commission 這兩列,我們不需要作任何更改,而對於 salary 列,那就需要修剪資料使得資料符合 decimal 列指明的精度。結果如下:
insert into employee values (
123456.7891,
1234567890.1234,
123456789012345678901234.5678
);salary
salary
commission
123456.78
1234567890.1234
123456789012345678901234.5678
cmd檢視所有資料庫 db2 DB2常用命令彙總
db2常用 命令彙總 進入db2 windows r 輸入cmd 回車輸入db2 回車,db21061e 未初始化命令列環境。輸入db2cmd 回車彈出另乙個視窗 輸入db2 回車?檢視幫助資訊 檢視配置好的db 連線資料庫sample 顯示當前使用者所有表 重新連線資料庫sample 檢視使用者下...
DB2 中的LONG VARCHAR 型別
db2 中long varchar與varchar 資料型別都用來儲存長文字,但是它們之間的用法有很大不同。varchar 與普通資料型別一樣,要使用到bufferpool,在建立表時受制於最大的bufferpool page size,而long varchar 則與lob資料一樣,有單獨的儲存區...
DB2 中的LONG VARCHAR 型別
db2 中long varchar與varchar 資料型別都用來儲存長文字,但是它們之間的用法有很大不同。varchar 與普通資料型別一樣,要使用到bufferpool,在建立表時受制於最大的bufferpool page size,而long varchar 則與lob資料一樣,有單獨的儲存區...