MariaDB ROUND() 函数的基础用法与实例

MariaDB ROUND() 函数用来对一个数值按指定精度进行四舍五入。

发布于

MariaDB ROUND() 函数用来对一个数值按指定精度进行四舍五入。它常用于在存储或显示数值时控制小数位数。

语法

MariaDB ROUND() 函数的语法如下:

ROUND(X, D)
  • X:要四舍五入的数值表达式
  • D:一个可选的整数,表示小数位数。如果为正,表示精确到小数点右边的位数;如果为负,表示精确到小数点左边的位数

如果忽略第二个参数,则默认将数字四舍五入到整数位。如果任一参数为 NULL,函数返回 NULL。

实例

四舍五入到小数点右边

本示例演示如何使用 ROUND() 对小数进行四舍五入。

SELECT ROUND(3.456, 2), ROUND(3.456, 1), ROUND(3.456, 0);

以下是该语句的输出:

+-----------------+-----------------+-----------------+
| ROUND(3.456, 2) | ROUND(3.456, 1) | ROUND(3.456, 0) |
+-----------------+-----------------+-----------------+
|            3.46 |             3.5 |               3 |
+-----------------+-----------------+-----------------+

第一个 ROUND(3.456, 2) 精确到小数点后 2 位,结果为 3.46。类似地,第二个结果为 3.5,第三个结果为 3。

四舍五入到小数点左边

ROUND() 也可以对整数部分进行四舍五入。

SELECT ROUND(456.789, -2), ROUND(456.789, -1);

以下是该语句的输出:

+--------------------+--------------------+
| ROUND(456.789, -2) | ROUND(456.789, -1) |
+--------------------+--------------------+
|                500 |                460 |
+--------------------+--------------------+

ROUND(456.789, -2) 将 456.789 四舍五入到最接近的百位数 500。ROUND(456.789, -1) 将其四舍五入到最接近的十位数 460。

NULL 输入

如果任一参数为 NULL,ROUND() 将返回 NULL。

SELECT ROUND(NULL, 2), ROUND(45.6, NULL);

以下是该语句的输出:

+----------------+-------------------+
| ROUND(NULL, 2) | ROUND(45.6, NULL) |
+----------------+-------------------+
|           NULL |              NULL |
+----------------+-------------------+

与数值函数组合

ROUND() 常与其他数值函数组合使用。

SELECT ROUND(SIN(RADIANS(30)), 4);

以下是该语句的输出:

+----------------------------+
| ROUND(SIN(RADIANS(30)), 4) |
+----------------------------+
|                     0.5000 |
+----------------------------+

该示例先使用 RADIANS() 将 30 度转为弧度,然后使用 SIN() 计算弧度的正弦值,再将结果四舍五入到小数点后 4 位。

格式化货币金额

ROUND() 在格式化货币金额时非常有用。

DROP TABLE IF EXISTS orders;
CREATE TABLE orders (id INT, total DECIMAL(10,2));
INSERT INTO orders VALUES
  (1, 456.789), (2, 678.94), (3, 33.8);

SELECT id, CONCAT('$', ROUND(total, 2)) AS formatted
FROM orders;

以下是该语句的输出:

+------+-----------+
| id   | formatted |
+------+-----------+
|    1 | $456.79   |
|    2 | $678.94   |
|    3 | $33.80    |
+------+-----------+

本示例将订单总金额四舍五入到美元并格式化显示。

相关函数

以下是几个与 MariaDB ROUND() 相关的函数:

  • MariaDB TRUNCATE() 函数用于截断而非四舍五入
  • MariaDB CEIL()CEILING() 函数返回不小于给定值的最小整数
  • MariaDB FLOOR() 函数返回不大于给定值的最大整数
  • MariaDB MOD() 函数用于计算求模运算的余数

结论

MariaDB ROUND() 函数提供了简单而强大的数值四舍五入功能。可以精确控制精度,既能对小数点右边进行四舍五入,也能对整数部分进行舍入。在格式化数值输出、货币金额计算等场景非常实用。结合其他数值函数,可以完成各种数学计算中所需的四舍五入操作。总的来说,ROUND()是进行数值舍入的常用工具函数。