ROUND 函数 - Amazon Redshift

ROUND 函数

ROUND 函数将数字舍入到最近的整数或小数。

ROUND 函数可以选择性地以 INTEGER 形式包含另一个参数,以指示在任意方向舍入到的小数位数。当您不提供第二个参数时,函数会舍入到最接近的整数。指定第二个参数 integer 时,函数将舍入为最接近的数值,其中精度为 integer 个小数位。

语法

ROUND(number [ , integer ] )

参数

number

数字或计算结果为数字的表达式。它可以是 DECIMALFLOAT8SUPER 类型。Amazon Redshift 可以隐式转换其他数值数据类型。

integer

(可选)一个 INTEGER,指示以任意方向四舍五入的小数位数。此参数不支持 SUPER 数据类型。

返回类型

ROUND 返回与输入 number 相同的数值数据类型。

当输入为 SUPER 类型时,输出将保留与输入相同的动态类型,而静态类型仍保留 SUPER 类型。当 SUPER 的动态类型不是数值时,Amazon Redshift 将返回 NULL

示例

以下示例使用 TICKIT 示例数据库。有关更多信息,请参阅 示例数据库

要将为给定交易支付的佣金舍入到最近的整数,请使用以下示例。

SELECT commission, ROUND(commission) FROM sales WHERE salesid=10000; +------------+-------+ | commission | round | +------------+-------+ | 28.05 | 28 | +------------+-------+

要将为给定交易支付的佣金舍入到第一个小数位,请使用以下示例。

SELECT commission, ROUND(commission, 1) FROM sales WHERE salesid=10000; +------------+-------+ | commission | round | +------------+-------+ | 28.05 | 28.1 | +------------+-------+

要以与上一个示例相反的方向扩展精度,请使用以下示例。

SELECT commission, ROUND(commission, -1) FROM sales WHERE salesid=10000; +------------+-------+ | commission | round | +------------+-------+ | 28.05 | 30 | +------------+-------+