SQL ROUND函數是對數據進行制定精度的取值。

第一個參數是取值的數據,第二個參數是精度,第三個參數是數據取值模式(四舍五入還是截斷),其中第三個參數是可選參數,默認是四舍五入模式。

從上面結果可以看出,數據並非只保留兩位小數,而是保留兩位有效小數。

從上面兩次可以看出,默認不使用第三個參數是四舍五入模式。

第三個參數如果是0,則四舍五入,如果是非0,則截斷

通過結果發現,后面的5被截斷,保留了兩位有效小數。
另外,如果精度為負數,則為整數部分精確取值。

SELECT ROUND(987.45,-2)

出現錯誤是因為987.45為decimal(5,2),它無法表示1000.00,此時需要轉換數據類型

參考: https://msdn.microsoft.com/zh-cn/library/ms175003(v=sql.120).aspx
