SQL Server-- ROUND()

ROUND

返回數字表達式並四捨五入爲指定的長度或精度。
語法

ROUND ( numeric_expression , length [ , function ] )
參數

numeric_expression

精確數字或近似數字數據類型類別的表達式(bit 數據類型除外)。

length

是 numeric_expression 將要四捨五入的精度。length 必須是 tinyint、smallint 或int。當 length 爲正數時,numeric_expression 四捨五入爲 length 所指定的小數位數。當 length 爲負數時,numeric_expression 則按 length 所指定的在小數點的左邊四捨五入。

function

是要執行的操作類型。function 必須是 tinyint、smallint 或 int。如果省略 function 或 function 的值爲 0(默認),numeric_expression 將四捨五入。當指定 0 以外的值時,將截斷 numeric_expression。
返回類型

返回與 numeric_expression 相同的類型。
註釋

ROUND 始終返回一個值。如果 length 是負數且大於小數點前的數字個數,ROUND 將返回 0。示例 結果
ROUND(748.58, -4) 0



當 length 是負數時,無論什麼數據類型,ROUND 都將返回一個四捨五入的 numeric_expression。示例 結果
ROUND(748.58, -1) 750.00
ROUND(748.58, -2) 700.00
ROUND(748.58, -3) 1000.00


示例
A. 使用 ROUND 和估計值

下例顯示兩個表達式,說明使用 ROUND 函數且最後一個數字始終是估計值。
SELECT ROUND(123.9994, 3), ROUND(123.9995, 3)
GO

下面是結果集:
----------- -----------
123.9990 124.0000
B. 使用 ROUND 和四捨五入的近似值

下例顯示四捨五入和近似值。語句 結果
SELECT ROUND(123.4545, 2) 123.4500
SELECT ROUND(123.45, -2) 100.00


C. 使用 ROUND 截斷

下例使用兩個 SELECT 語句說明四捨五入和截斷之間的區別。第一個語句四捨五入結果。第二個語句截斷結果。語句 結果
SELECT ROUND(150.75, 0) 151.00
SELECT ROUND(150.75, 0, 1) 150.00

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章