我正在運行需要將值四捨五入到最近整數的SQL。在SQL UPDATE中將值舍入到最接近的整數
我需要的是45.01輪到46輪也是45.49輪到46輪也是45.99輪到46輪。我希望所有的東西都有一個整數。
如何在像下面這樣的UPDATE語句中實現這一點?
Update product SET price=Round
我正在運行需要將值四捨五入到最近整數的SQL。在SQL UPDATE中將值舍入到最接近的整數
我需要的是45.01輪到46輪也是45.49輪到46輪也是45.99輪到46輪。我希望所有的東西都有一個整數。
如何在像下面這樣的UPDATE語句中實現這一點?
Update product SET price=Round
您可以使用ceil
功能,至少在MySQL的;這部分SQL代碼:
select ceil(45.01), ceil(45.49), ceil(45.99);
每次都會得到你「46」。
爲了您的更新,所以,我會說:
Update product SET price = ceil(45.01)
BTW:在MySQL中,ceil
是一個別名ceiling
;不知道其他數據庫系統,所以你可能需要使用一個或另一個,這取決於你使用的是DB ...
引用文檔:
CEILING(X)
返回的最小整數值不大於 X.
而給出的例子中更小:
mysql> SELECT CEILING(1.23);
-> 2
mysql> SELECT CEILING(-1.23);
-> -1
嘗試天花板 ...
SELECT Ceiling(45.01), Ceiling(45.49), Ceiling(45.99)
這取決於數據庫服務器,但它通常被稱爲類似CEIL
或CEILING
。例如,在MySQL的
mysql> select ceil(10.5);
+------------+
| ceil(10.5) |
+------------+
| 11 |
+------------+
然後,您可以做UPDATE PRODUCT SET price=CEIL(some_other_field);
如果你想四捨五入然後用圓功能。當你想獲得比你的參數更大的最小整數時,使用上限函數。
對於例如:選擇圓(843.4923423423,0)從雙爲您提供了843和
選擇輪(843.6923423423,0)從 雙給你844
如果你只想收集最近的一分錢,該怎麼辦?如果應納稅額爲13.052美元,我需要將這一數額調高至13.053美元。我可以使用天花板(),但我必須首先乘以100,然後除以100.似乎是跛腳。 – datagod 2011-09-23 14:48:12
對於MS SQL天花板(你的號碼)將圍繞它。 FLOOR(您的號碼)會將其圓整下來
天花板是您要使用的命令。
與圓形不同,天花板只需要一個參數(您希望四捨五入的值),因此如果要舍入到小數點位置,則需要先將該數字乘以多個小數位,然後再進行除法。
例子。
我想把1.2345湊到2位小數。
CEILING(1.2345*100)/100 AS Cost
歡迎來到stackoverflow!任何縮進的四個空格都被格式化爲代碼,您可以使用二進制數字的按鈕在編輯器中執行此操作。希望你不介意我修復你的答案來做到這一點! – 2009-09-07 11:16:07