DECFLOAT
DECFLOAT 是 DB2 9.5 引入的一種新的數據類型,它是一種十進制浮點數據類型,適合處理精確的十進制業務數據。浮點數據類型例如 REAL 和 DOUBLE 類型都只是通過二進制近似方式來處理十進制數據,所以它們不適合大部分使用十進制數據的商業套用。
DECFLOAT 合併了 DECIMAL 類型的精度和 FLOAT 類型的一些性能優勢,所以它是一種結果精確而且處理高效的數據類型。
DECFLOAT 提供 16 位和 34 位兩種精度的浮點數據類型。分別為表示為 DECFLOAT(16) 和 DECFOAT(34)。如果沒有指明精度,DECFLOAT 默認為 DECFLOAT(34)。這兩種精度的數據分別存儲在 8 位元組和 16 位元組的空間裡。
DECFLOAT &DECIMAL
下面這個例子來說明 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 |
INSERT INTO EMPLOYEE VALUES (
123456.7891,
1234567890.1234,
123456789012345678901234.5678
);
| SALARY | SALARY | COMMISSION |
| 123456.78 | 1234567890.1234 | 123456789012345678901234.5678 |
