SQL - ROUND() 函数



SQL ROUND() 是一个数学函数,用于表示带有指定小数位数的浮点数。

假设我们有一个浮点数 123.346,我们希望显示一个小数点后只有两位数的数字,例如 123.350,那么我们可以使用 ROUND() 函数来实现。

语法

以下是 SQL 中 ROUND() 函数的语法:

SELECT ROUND(number, decimals_places, operation) AS Alias_Name;

round 函数接受三个参数,其中两个是必需的,一个 是可选的。

  • Number - 它接受需要四舍五入的数字。

  • Decimals_places - 需要将数字四舍五入到的小数位数。

  • Operation - 它是可选的;如果输入 0,则结果将四舍五入到指定的小数位数;如果输入的值不为 0,则将截断小数位数;默认值为 0。

以下是 SQL ROUND() 函数的语法,它用于 SQL 并从创建的表中提取数据。

SELECT ROUND(column_name, decimals_places, operation) AS Alias_Name FROM table_name;

在上面的语法中,我们使用的是我们创建的表名,并且我们必须定义要对哪个列执行 ROUND() 函数。

示例

在下面的示例中,我们将一个浮点数四舍五入到两位小数。

以下是查询:

SELECT ROUND(123.1256, 2) AS roud_value;

输出

上面查询的输出如下所示,它显示了给定的数字,并且在第二位小数点之后,0 值将替换其他数字。

+------------+
| roud_value |
+------------+
|   123.1300 |
+------------+

示例

在下面的示例中,我们将浮点数四舍五入到两位小数,并使用 operation 参数。

以下是查询:

SELECT ROUND(123.125, 2, 1) AS roud_value;
+------------+
| roud_value |
+------------+
|   123.1300 |
+------------+

输出

以下是上面 SQL 查询的输出,它在两位小数点之后显示 0。如果我们将 operation 参数设置为 1,并且两位小数点之后的下一个值大于 5,则前一个数字不会增加 1。它显示相同的数字。

示例

在下面的示例中,我们将 salary 列四舍五入到两位小数,并从 emp_tbl 中提取名称。

让我们使用 CREATE 语句创建一个名为 emp_tbl 的表:

CREATE TABLE emp_tbl(ID INT NOT NULL, 
NAME VARCHAR(20), 
ACCOUNT_BL DECIMAL(10, 0), 
SALARY DECIMAL(18, 5));

让我们使用 INSERT 语句将数据插入 emp_tbl:

INSERT INTO emp_tbl VALUES(1, 'Raja', 1200, 1234.23450);
INSERT INTO emp_tbl VALUES(2, 'Vivek', 1500, 225.45600);
INSERT INTO emp_tbl VALUES(3, 'Roja', -1500, 3025.57600);
INSERT INTO emp_tbl VALUES(4, 'Lukha', -1700, 5065.16800);
INSERT INTO emp_tbl VALUES(5, 'Sonal', 1800, 10065.25400);

让我们使用 SELECT 语句显示 emp_tbl 的详细信息:

SELECT * FROM emp_tbl

以下是表格:

+----+-------+------------+-------------+
| ID | NAME  | ACCOUNT_BL | SALARY      |
+----+-------+------------+-------------+
|  1 | Raja  |       1200 |  1234.23450 |
|  2 | Vivek |       1500 |   225.45600 |
|  3 | Roja  |      -1500 |  3025.57600 |
|  4 | Lukha |      -1700 |  5065.16800 |
|  5 | Sonal |       1800 | 10065.25400 |
+----+-------+------------+-------------+

以下是 SQL 查询:

SELECT NAME, ROUND(SALARY, 2) FROM emp_tbl;

输出

以下是上面 SQL 查询的输出。我们获得了姓名和 salary 的四舍五入值。

+-------+------------------+
| NAME  | ROUND(SALARY, 2) |
+-------+------------------+
| Raja  |          1234.23 |
| Vivek |           225.46 |
| Roja  |          3025.58 |
| Lukha |          5065.17 |
| Sonal |         10065.25 |
+-------+------------------+
sql-numeric-functions.htm
广告