摘要:
下文講述使用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)