mssql sqlserver 取消數值四捨五入的方法分享

Adeal2008發表於2018-06-15

 
摘要:
下文講述使用round sql函式,對數值型資料進行舍入操作
實驗環境:sqlserver 2008

轉自: http://www.maomao365.com/?p=6454


最近接到使用者需求,需對數值型資料,無論後面資料多少,直接進行舍入操作,左思右想,終於發現了round函式可以滿足此操作。
————————————————–
round函式舍入特性介紹:
round語法介紹:
round(資料表示式,長度[,操作方式])
———————-
引數說明:
資料表示式:
接收一個tinyint、int、bigint、decimal、numeric、money、smallmoney、float、real
長度:
此引數須為tinyint int smallint型別
round函式舍入的精度
操作方式:
此引數須為tinyint int smallint型別
預設值:為0,如果輸入其它值,則將截斷“資料表示式”
———————-
返回值說明:
tinyint返回int
int 返回int
bigint 返回bigint
decimal numberic 返回decimal numberic
money smallmoney返回money
float real 返回float
———————–
<span style=”color:red;”>
注意事項:
當”長度”為正數時,則將小數點後舍入的位數
當”長度”為負數時,則將小數點前舍入的位數
</span>
 —————————————————–
round應用舉例:

SELECT ROUND(8989.3652, 2), --小數位後保留2位,四捨五入
ROUND(8989.3652, -2),--小數位前舍入2位,四捨五入
---小數位全部舍入,四捨五入
ROUND(8956.34, 0),ROUND(8956.65, 0),ROUND(8956.25, 0), 
---截斷資料舍入位置後的資料
ROUND(16081.83,0,-2), ROUND(16081.83,0,1), ROUND(16081.83,0,5),
ROUND(16081.835,2,8), ROUND(16081.836,-2,6), ROUND(16081.83,-2,7)
go

---例:sql取消四捨五入方法分享
---丟失小數位後兩位,並不進行四捨五入操作
select round(8989.999,2,9)

 

相關文章