Skip to Content
参考手册数据类型数值类型

数值类型

以下表格列出了 MAXIR 支持的数值类型。

名称存储大小取值范围描述
bigint8 字节-9223372036854775808 到 9223372036854775807大范围整数。
integer4 字节-2147483648 到 +2147483647整数。该类型是存储整数的常见选择,在范围、大小和性能之间提供了最好的平衡。
smallint2 字节-32768 到 +32767小范围整数。
double precision8 字节15 位小数精度具有小数部分的数字。
real4 字节6 位小数精度单精度浮点数。
decimal可变128 位有符号整数,精度可达 38 位精确数字,精度由用户指定。


整数类型

smallintintegerbigint 类型存储不同范围的整数。使用三者中的任一存储不在其对应的范围内的整数都会导致报错。


浮点类型

realdouble precision 类型是不精确的,可变精度数值类型。

realdouble precision 是不精确的,所以在存储和检索对应值时可能会出现轻微的差异。需要精确的存储或计算时,不要使用这两个数据类型。


十进制类型

decimal 类型用于存储精度由用户定义的数字。

要定义一个 decimal 列,你需要指定 <precision><scale>

decimal(<precision>, <scale>)

其中:

  • <precision> 指定小数点两侧的数字位数,最大值为 38。如果未指定,默认使用精度 18。

  • <scale> 指定小数点右侧的数字位数,最大值为 37。如果未指定,默认使用精度 0。

例如,数字 3.1415926 的精度为 8,小数位数为 7。

如果输入值的小数位数大于加载值的列的小数位数,该值将四舍五入到指定的小数位数。然而,从表中选取的值的显式转换的结果不会被四舍五入。

说明:
如前所述,decimal 列的 <precision> 是小数点左侧的数字位数和 <scale> 的总和,因此

  • 如果输入值的小数点左侧指定的数字位数大于列的精度减去小数位数(即 <precision> - <scale>),那么该值就不能复制到该列。
  • decimal 列指定的 <scale> 不能大于该列的 <precision>