2015-12-01 32 views
-1

我試過如下:四捨五入的數字小於1 MYSQL

ROUND(0.55,0)

但是,它返回值0,而我想1.是不是有什麼其他的方法在MYSQL中獲得值1?

+4

不在我的電腦中...請分享完整的代碼和規格嗎? –

+0

我有1爲您的代碼。你可以嘗試ROUND(0.55) –

+0

@SamIvichuk - 對不起,但[我不能'看到區別](https://dev.mysql.com/doc/refman/5.6/en/mathematical-functions.html#function_round)。你能詳細說明一下嗎? –

回答

0

的問題MySQL的文檔中描述上round()功能,具體爲:

對於近似值數值,結果取決於C庫。在許多系統上,這意味着ROUND()使用「round to nearest even」規則:將任何小數部分的值四捨五入到最接近的偶數整數。

0.55不能用二進制精確表示,因此使用近似數字,這受到上述行爲的限制。如果給定操作系統上的C庫使用「round to nearest even」規則,則0.55將四捨五入爲0.

要模仿「round halfway up」方法,請在要舍入的數字上加0.5,整數部分:floor(x+0.5)