DECIMAL:
DB2中的DECIMAL支持的最长长度为31位,小数点也会包含进去算为一个长度,也就是说这个数据类型最多存储31位的纯整数或者整数位和小数位的长度之和为30的小数(小数点占据一位)
EXAMPLE:DECIMAL(31),DECIMAL(31,0)合法 DECIMAL(30,29)合法 DECIMAL(31,29)不合法
DECIMAL(M,N) 中M为不带小数点的总长度,N为小数长度,M-N为整数长度。整数不可超长,小数可超长数据库进行自动截取,短则自动填充。其实际长度为M+N+1
DECFLOAT:
如果出现DECIMAL无法容纳的数值又追求精度不想使用浮点数,则可使用数据类型十进制浮点数(DECFLOAT)。
DECFLOAT可选DECFLOAT(16)和DECFLOAT(34),其意义为:DECFLOAT(34)可存储整数位和小数位的长度之和和为34的小数,超长则从小数位截断,对于整数也是可存34位的纯整数,超长则截断34位之后的补零并转换为幂值:
EXAMPLE:12345678901234567890123456789012345->1.234567890123456789012345678901234E+34
SMALLINT:小整数2字节 范围是-32 768到32 767
INTEGER:整数 4字节 范围是-2 147 483 648到+2 147 483 647
BIGINT:大整数 8字节 范围是-9 223 372 036 854 775 808到+9 223 372 036 854 775 807
REAL:单精度浮点 32位 近似值 可以是零,或者可以从-3.4028234663852886e + 38到-1.1754943508222875e-38或者从1.1754943508222875e-38到3.4028234663852886e + 38。
DOUBLE或FLOAT:双精度浮点 64位 近似值。该数字可以是零,或者可以从-1.7976931348623158e + 308到-2.2250738585072014e-308,或者从 2.2250738585072014e-308到1.7976931348623158e + 308。
DECIMAL或NUMERIC: 31位 十进制 -10 31 +1至10 31 -1