MySQL四捨五入函數ROUND(x)
ROUND(x)函數返回最接近於參數x的整數,對x值進行四捨五入。
實例:
使用ROUND(x)函數對操作數進行四捨五入操作。SQL語句如下:
SELECT ROUND(-2.34),ROUND(-4.56),ROUND(2.34),ROUND(4.56);
ROUND(x)函數的執行結果如下圖所示:
上圖中代碼執行的結果顯示,進行四捨五入處理以後,只保留了各個值的整數部分。
MySQL四捨五入函數ROUND(x,y)
ROUND(x,y)函數返回最接近於參數x的數,其值保留到小數點後面y位,若y爲負值,則將保留x值到小數點左邊y位。
實例:
使用ROUND(x,y)函數對操作數進行四捨五入操作,結果保留小數點後面指定y位。SQL語句如下:
SELECT ROUND(3.45,1),ROUND(3.45,0),ROUND(123.45,-1),ROUND(167.8,-2);
ROUND(x,y)函數的執行結果如下圖所示:
ROUND(3.45,1)保留小數點後面1位,四捨五入的結果爲3.5;ROUND(3.45,0)保留小數點後面0位,即返回四捨五入後的整數值;ROUND(123.45,-1)保留小數點左邊1位,即從小數點向左查1位,這1位用0代替,返回值爲120;ROUND(167.8,-2)保留小數點左邊2位,即從小數點向左查2位,這兩位用0代替,返回四捨五入後的值200。
MySQL不進行四捨五入函數TRUNCATE(x,y)
TRUNCATE(x,y)函數返回被捨去至小數點後y位的數字x。若y的值爲0,則結果不帶有小數點或不帶有小數部分。若y設爲負數,則截去(歸零)x小數點左起第y位開始後面所有低位的值。
實例:
使用TRUNCATE(x,y)函數對操作數進行四捨五入操作,結果保留小數點後面指定y位。SQL語句如下:
SELECT TRUNCATE(2.34,1),TRUNCATE(4.56,1),TRUNCATE(4.56,0),TRUNCATE(56.78,-1);
TRUNCATE(x,y)函數的執行結果如下圖所示:
TRUNCATE(2.34,1)和TRUNCATE(4.56,1)都保留小數點後1位數字,返回值分別爲2.3和4.5;TRUNCATE(4.56,0)返回整數部分4;TRUNCATE(56.78,-1)截去小數點左邊第1位後面的值,並將整數部分的1位數字置0,結果爲50。
提示
ROUND(x,y)函數在截取值的時候會四捨五入,而TRUNCATE(x,y)函數直接截取值,並不進行四捨五入。