SQL Server 函数

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 的数据库表,其中包含以下记录:

Datax
Data 1-3.75567
Data 2-5.3867
Data 313.9804
Data 493.1601
Data 548.1322

下面给出的语句可用于将x列的记录四舍五入到小数点后两位。

SELECT *, ROUND(x, 2) AS ROUND_Value FROM Sample; 

这将产生如下所示的结果:

DataxROUND_Value
Data 1-3.75567-3.76000
Data 2-5.3867-5.3900
Data 313.980413.9800
Data 493.160193.1600
Data 548.132248.1300