SQL ROUND函數是對數據進行制定精度的取值。 第一個參數是取值的數據,第二個參數是精度,第三個參數是數據取值模式(四捨五入還是截斷),其中第三個參數是可選參數,預設是四捨五入模式。 從上面結果可以看出,數據並非只保留兩位小數,而是保留兩位有效小數。 從上面兩次可以看出,預設不使用第三個參數是四 ...
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