您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

舍入或截断结果

只要 SAP IQ 要求在查询或插入时将一种数据类型显式或隐式转换为另一种数据类型,则始终会截断结果。

  • 当从较高标度显式转换为较低标度时,SAP IQ 将截断结果中的值。例如,如果在查询中对存储为 4 位标度的列值执行 CAST,将其转换为 2 位标度,则诸如 2.4561 的值将变为 2.45。

  • 如果 SAP IQ 在插入时从较高标度隐式转换为较低标度,则会在将数据插入到表之前截断值。例如,如果从数据类型为 NUMERIC(7,3) 的一个表插入到数据类型为 DECIMAL(12,2) 的另一个表,诸如 2.456 的值将变为 2.45。

  • 如果算术运算导致标度高于预定标度,则 SAP IQ 会截断结果,使其与预定标度相符。

    如果结果需要舍入而不是截断值,则在命令中使用 ROUND 函数。但是,对于插入,ROUND 函数只能作为其查询表达式的一部分。

    数值数据的最大精度为 126。