MySQL四捨五入函數ROUND(x)、ROUND(x,y)和TRUNCATE(x,y)

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)函數直接截取值,並不進行四捨五入。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章