返回數(shù)字表達式并四舍五入為指定的長度或精度。
ROUND ( numeric_expression , length [ , function ] )
numeric_expression
精確數(shù)字或近似數(shù)字?jǐn)?shù)據(jù)類型類別的表達式(bit 數(shù)據(jù)類型除外)。
length
是 numeric_expression 將要四舍五入的精度。length 必須是 tinyint、smallint 或int。當(dāng) length 為正數(shù)時,numeric_expression 四舍五入為 length 所指定的小數(shù)位數(shù)。當(dāng) length 為負數(shù)時,numeric_expression 則按 length 所指定的在小數(shù)點的左邊四舍五入。
function
是要執(zhí)行的操作類型。function 必須是 tinyint、smallint 或 int。如果省略 function 或 function 的值為 0(默認),numeric_expression 將四舍五入。當(dāng)指定 0 以外的值時,將截斷 numeric_expression。
返回與 numeric_expression 相同的類型。
ROUND 始終返回一個值。如果 length 是負數(shù)且大于小數(shù)點前的數(shù)字個數(shù),ROUND 將返回 0。
示例 | 結(jié)果 |
---|---|
ROUND(748.58, -4) | 0 |
當(dāng) length 是負數(shù)時,無論什么數(shù)據(jù)類型,ROUND 都將返回一個四舍五入的 numeric_expression。
示例 | 結(jié)果 |
---|---|
ROUND(748.58, -1) | 750.00 |
ROUND(748.58, -2) | 700.00 |
ROUND(748.58, -3) | 1000.00 |
下例顯示兩個表達式,說明使用 ROUND 函數(shù)且最后一個數(shù)字始終是估計值。
SELECT ROUND(123.9994, 3), ROUND(123.9995, 3)
GO
下面是結(jié)果集:
----------- -----------
123.9990 124.0000
下例顯示四舍五入和近似值。
語句 | 結(jié)果 |
---|---|
|
|
|
|
下例使用兩個 SELECT 語句說明四舍五入和截斷之間的區(qū)別。第一個語句四舍五入結(jié)果。第二個語句截斷結(jié)果。
語句 | 結(jié)果 |
---|---|
|
|
|
|