回答
這裏去一些文檔
http://dev.mysql.com/doc/refman/5.0/en/mathematical-functions.html#function_round
快速回答:
mysql> SELECT ROUND(1.987, 2); = 1.99
以上你在找什麼對於
truncate(1.987, 2) = 1.98
這僅有差別如果正在輸出的數目(數值,1.0
= 1.00
)。所以:
(case when format(num, 2) = '1.00' then '1.0' else format(num-0.005, 2) end)
的-0.005
是要克服的事實,format()
回合,而不是截斷。
只是問 - 在一種情況下'case'比'if'更快嗎? – jaczes
@jaczes。 。 。可能不會。我想他們被編譯成類似的結構。然而,當試圖使查詢運行得更快時,這種微觀優化通常會浪費精力和大腦帶寬。 –
+1。或'FORMAT(TRUNCATE(num,2),2)'。我懷疑OP想'2.00'返回爲'2.0',但這沒有指定。該解決方案符合規範(至少在規範修改之前)。 – spencer7593
- 1. 如何在這種情況下(MySQL的)
- 2. 在這種情況下,此運算符[]超載如何工作?
- 3. SQL Server鎖定在這種情況下如何工作?
- 4. MySQL在這種情況下的表現?
- 5. 在這種情況下的MySQL大小?
- 6. Ajax在這兩種情況下運行
- 7. 在這種情況下的SQL樞軸?
- 8. SQL:如何查詢在SQL命令在這種情況下
- 9. res.render()在一種情況下工作,但不在另一種情況下工作
- 10. 如何在這種情況下
- 11. 如何使用在這種情況下
- 12. 如何在這種情況下
- 13. 如何在這種情況下
- 14. 如何點擊在這種情況下
- 15. 如何在這種情況下
- 16. 如何調用在這種情況下
- 17. 如何在這種情況下循環
- 18. LinqtoSQL/C#:如何在這種情況下
- 19. 如何在這種情況下
- 20. 是在這種情況下
- 21. 在這種情況下
- 22. 和|| =在這種情況下
- 23. 在這種情況下
- 24. 在這種情況下
- 25. 在這種情況下
- 26. SCOPE_IDENTITY在這種情況下工作嗎?
- 27. javascript:console.log不在這種情況下工作?
- 28. 這種情況下的SQL查詢?
- 29. 值分配操作符在這種情況下如何工作?
- 30. 或者操作員在這種情況下如何工作?
什麼是具有'1.00'到一個小數點的規則,但其他所有到2? –
將2.00的值返回爲「2.00」還是「2.0」?是否有規則,一個有條件的測試,可以用來做出決定。這是一個簡單的例子(儘管你聲稱它不是)。 '1.00'返回爲'1.0',因爲這是返回的第一行,因爲它等於1,或者因爲它小於1.04?給我們規則。 – spencer7593