ROUND 函数
ROUND 函数将数字舍入到最近的整数或小数。
ROUND 函数可以选择性地以 INTEGER
形式包含另一个参数,以指示在任意方向舍入到的小数位数。当您不提供第二个参数时,函数会舍入到最接近的整数。指定第二个参数 integer 时,函数将舍入为最接近的数值,其中精度为 integer 个小数位。
语法
ROUND(number [ , integer ] )
参数
- number
-
数字或计算结果为数字的表达式。它可以是
DECIMAL
、FLOAT8
或SUPER
类型。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 | +------------+-------+