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。如果我们将操作参数设置为1,并且两位小数点后的下一个值大于5,则前一个数字不会增加一。它显示相同的数字。
示例
在下面的示例中,我们将薪水列舍入到两位小数,并从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查询的输出。我们获取薪水的姓名和轮次。
+-------+------------------+
| NAME | ROUND(SALARY, 2) |
+-------+------------------+
| Raja | 1234.23 |
| Vivek | 225.46 |
| Roja | 3025.58 |
| Lukha | 5065.17 |
| Sonal | 10065.25 |
+-------+------------------+