数字
数字数据类型为整数,十进制,浮点和十进制浮点。
- 精确数字: 整数和小数
- 十进制浮点
- 近似数字: 浮点数
整数包括小整数,大整数和大整数。 整数是整数的精确表示。 十进制数是具有固定精度和小数位的数字的精确表示。 整数和小数被视为精确的数字类型。
十进制浮点数的精度可以为 16 或 34。 十进制浮点支持实数的精确表示和实数的近似值,因此不被视为精确数字类型或近似数字类型。
浮点包括单精度和双精度。 浮点数是实数的近似值,被视为近似数字类型。
所有数字都具有 sign, precision和 scale。 对于除十进制浮点以外的所有数字,如果列值为零,那么符号为正数。 十进制浮点数包括负零和正零。 对于数字和具有各种指数的相同数字,十进制浮点具有不同的值 (例如: 0.0, 0.00, 0.0E5, 1.0, 1.00, 1.0000)。 精度是十进制数字 (不包括符号) 的总数。 小数位是小数点右边的小数点总数。 如果没有小数点,则小数位为零。
另请参阅 CREATE TABLE 语句的描述中的数据类型部分。
.
小整数 (SMALLINT)
小整数 是精度为 5 位的双字节整数。 小整数的范围是 -32 768 到 32 767。
大整数 (INTEGER)
大整数 是精度为 10 位的四字节整数。 大整数的范围是-2147 483 648 至 +2 147 483 647。
大整数 (BIGINT)
大整数 是精度为 19 位的八字节整数。 大整数的范围是-9223 372 036 854 775 808 至 +9 223 372 036 854 775 807。
十进制 (DECIMAL 或 NUMERIC)
decimal 值是具有隐式小数点的压缩十进制数。 小数点的位置由数字的精度和刻度决定。 刻度,即数字的小数部分中的位数,不能为负数或大于精度。 最大精度为 31 位。
十进制列中的所有值都具有相同的精度和小数位。 十进制变量或十进制列中数字的范围为-N 到 +N,其中 N 的绝对值是可以使用适用的精度和小数位表示的最大数字。 最大范围为 -1031+ 1 到 1031-1。
- packed decimal format(压缩十进制格式)
- 打包十进制格式是指每个存储字节(低阶字节除外)可以包含两个十进制数。 低阶字节最左端包含一个数字,最右端包含符号(正或负)。 使用标准符号:十六进制 F 表示正数,十六进制 D 表示负数。 打包十进制格式如下:
图 1。 packed decimal format(压缩十进制格式) 
- zoned decimal format(分区十进制格式)
- 分区十进制格式是指每个字节的存储空间可以包含一个数字或一个字符。 在分区十进制格式中,每个字节的存储空间分为两部分:4 位分区部分和 4 位数字部分。 分区十进制格式如下:
图 2。 zoned decimal format(分区十进制格式) 
单精度浮点 (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。
十进制浮点 (DECFLOAT)
十进制浮点 值是带有小数点的 IEEE 754r 数字。 小数点的位置存储在每个十进制浮点值中。 最大精度为 34 位。 十进制浮点数的范围为 16 位或 34 位精度,指数范围为 10-383 到 10+384 或 10-6143 到 10+6144。 DECFLOAT 值的最小指数 Emin为 -383 (对于 DECFLOAT (16)) 和 -6143 (对于 DECFLOAT (34))。 对于 DECFLOAT 值,最大指数 Emax为 384 (对于 DECFLOAT (16)) 和 6144 (对于 DECFLOAT (34))。
- Infinity-表示其量级为无限大的数字的值
- 安静 NaN -表示未定义的结果 且不会导致无效数字 警告 的值
- 信令 NaN -表示 未定义的结果的值,如果在任何数字操作中使用该值,那么会导致无效数字 警告
- 次正常数字和下流
其调整指数小于 Emin 的非零数字称为子正态数字。 这些次正常数字被接受为所有操作的操作数,并且可以由任何操作产生。
对于次正常结果,指数的最小值变为 Emin -(precision-1) ,称为 E小,其中精度是工作精度。 如果需要,将对结果进行舍入,以确保指数不小于 E微小。 如果在舍入期间结果变得不精确,那么将返回下流 warning 。 次正常结果不会始终返回下流 warning。
当一个数字在计算期间下流到零时,它的指数将是 E极小。 指数的最大值不受影响。
子正态数的指数最大值与未生成子正态数的运算期间可能出现的指数的最小值相同。 当系数的长度 (以十进制数字为单位) 等于精度时,会发生此情况。