SQL Server (Transact-SQL) ROUND() 函数返回四舍五入到指定小数位数的数字。如果decimal_places是负数,则该函数将使小数点左边的数字变为0值。
语法
ROUND(number, decimal_places, operation)
参数
number | 必填。 指定要舍入的数字。 |
decimal_places | 必填。 指定要舍入的小数位数。该值必须是正整数或负整数。当它是正数时,数字将四舍五入到指定的小数位。当它是负数时,数字将按其指定的小数点左侧四舍五入。 |
operation | 可选。 指定要执行的操作类型。当省略它或值为 0(默认)时,数字 将四舍五入。当指定非 0 的值时,数字将被截断。 |
返回值
返回数字的四舍五入值到指定的decimal_places。
示例 1:
下面的示例显示了 的用法>ROUND() 函数。
SELECT ROUND(1234.5678, 0);
Result: 1235.0000
SELECT ROUND(1234.5678, 1);
Result: 1234.6000
SELECT ROUND(1234.5678, 2);
Result: 1234.5700
SELECT ROUND(1234.5678, 3);
Result: 1234.5680
SELECT ROUND(1234.5678, -1);
Result: 1230.0000
SELECT ROUND(1234.5678, -2);
Result: 1200.0000
SELECT ROUND(1234.5678, 2, 0);
Result: 1234.5700
--using round() function to truncate
SELECT ROUND(1234.5678, 2, 1);
Result: 1234.5600
示例 2:
考虑一个名为 Sample 的数据库表,其中包含以下记录:
Data | x |
---|---|
Data 1 | -3.75567 |
Data 2 | -5.3867 |
Data 3 | 13.9804 |
Data 4 | 93.1601 |
Data 5 | 48.1322 |
下面给出的语句可用于将x列的记录四舍五入到小数点后两位。
SELECT *, ROUND(x, 2) AS ROUND_Value FROM Sample;
这将产生如下所示的结果:
Data | x | ROUND_Value |
---|---|---|
Data 1 | -3.75567 | -3.76000 |
Data 2 | -5.3867 | -5.3900 |
Data 3 | 13.9804 | 13.9800 |
Data 4 | 93.1601 | 93.1600 |
Data 5 | 48.1322 | 48.1300 |