Oracle ROUND(number) 函数使用指南

Oracle ROUND(number) 是一个内置函数,它将给定的数字四舍五入到给定的小数位数。

Oracle ROUND(number) 语法

这里是 Oracle ROUND(number) 函数的语法:

ROUND(number[, d])

参数

number

必需的。 需要四舍五入的数字。

d

可选的。 需要保留的小数位数。默认值为 0。 它可以是何数值数据类型或任何可以隐式转换为数值数据类型的非数值数据类型。

返回值

Oracle ROUND(number) 函数返回一个四舍五入后的数字。它使用以下规则实现:

  1. 如果 number 为 0,则 ROUND 始终返回 0,不管 d
  2. 如果 number 为负数,则 ROUND(number, d) 返回 -ROUND(-number, d)
  3. 如果 number 是正数,则 ROUND(number, d) = FLOOR(number * POWER(10, d) + 0.5) * POWER(10, -d)

如果任意一个参数为 NULLROUND(number) 将返回 NULL

Oracle ROUND(number) 示例

这里有几个展示了 Oracle ROUND(number) 函数用法的示例。

基本用法

SELECT
    ROUND(1.2345),
    ROUND(1.2345, 1),
    ROUND(1.2345, 3)
FROM dual;

输出:

   ROUND(1.2345)    ROUND(1.2345,1)    ROUND(1.2345,3)
________________ __________________ __________________
               1                1.2              1.235

负数

Oracle ROUND(number) 函数允许你为第二个参数提供一个负数,以四舍五入整数部分。

SELECT
    ROUND(12345, -1),
    ROUND(12345, -2)
FROM dual;

输出:

   ROUND(12345,-1)    ROUND(12345,-2)
__________________ __________________
             12350              12300

NULL 参数

如果任意一个参数为 NULLROUND() 将返回 NULL

SET NULL 'NULL';
SELECT
    ROUND(1, NULL),
    ROUND(NULL, 1),
    ROUND(NULL, NULL)
FROM dual;

输出:

   ROUND(1,NULL)    ROUND(NULL,1)    ROUND(NULL,NULL)
________________ ________________ ___________________
            NULL             NULL                NULL

在本示例中,我们使用 SET NULL 'NULL'; 语句将 NULL 值显示为 'NULL' 字符串。

结论

Oracle ROUND(number) 是一个内置函数,它将给定的数字四舍五入到给定的小数位数。