Home [SQL] 四捨五入 Round()
Post
Cancel

[SQL] 四捨五入 Round()

ROUND() 函數用來對數值欄位值進行四捨五入計算。

語法

將數值number 四捨五入取到小數點到第lenght位數,function為0做四捨五入,預設值f=0。0以外的時候無條件捨去。

1
ROUND ( numeric_expression , length [ ,function ] )

參數:
numeric_expression:要捨入的數字。
length:指定保留的小數位數。
function:可選項,指定捨入方式。預設值為 0,表示四捨五入。取值範圍是 0 到 4,具體意義如下:

0:四捨五入
1:向上取整
2:向下取整
3:向零取整
4:四捨六入五成雙

1
SELECT ROUND(column_name, decimals) FROM table_name;

decimals 用來設定要四捨五入到小數點第幾位,0表示個位數。

1
2
3
4
select round(5.5,0) --6
select round(5.4,0) --5
select round(1.345, 2) --1.35
select round(1.123, 2) --1.12

範例

1
2
3
4
5
--以百萬單位來顯示商品別販賣業績的總計
select B.商品名稱, str(round(sum(B.販賣單價*A.數量)/1000000,2),10,2)+' 百萬元' "販賣業績(百萬元)"
from 販賣資料 A
join 商品清單 B on A.商品ID = B.商品ID 
group by B.商品名稱

執行結果:

1
2
3
4
5
6
7
8
9
10
商品名稱	販賣業績(百萬元)
15吋液晶螢幕	      0.72 百萬元
17吋螢幕	      0.25 百萬元
19吋螢幕	      0.29 百萬元
HUB	      0.04 百萬元
印表機	      0.03 百萬元
桌上型電腦	      1.08 百萬元
掃描器	      0.03 百萬元
筆記型電腦	      2.16 百萬元
網路卡	      0.04 百萬元

MSDN - ROUND (Transact-SQL)

This post is licensed under CC BY 4.0 by the author.