我正在运行SQL,需要将值四舍五入到最接近的整数。
我需要的是45.01轮到46轮。还有45.49轮到46轮。还有45.99轮到46轮。我希望一切都达到一个整数位。
如何在UPDATE语句中实现此目的,如下所示?
Update product SET price=Round
答案 0 :(得分:25)
你可以使用ceil
函数,至少在MySQL上;这部分SQL代码:
select ceil(45.01), ceil(45.49), ceil(45.99);
每次都会得到“46”。
对于您的更新,我会说:
Update product SET price = ceil(45.01)
顺便说一句:在MySQL上,ceil
是ceiling
的别名;不确定其他数据库系统,因此您可能必须使用其中一个,具体取决于您使用的数据库...
引用文档:
CEILING(X)
不返回最小的整数值 小于X。
以下给出的例子:
mysql> SELECT CEILING(1.23);
-> 2
mysql> SELECT CEILING(-1.23);
-> -1
答案 1 :(得分:14)
尝试上限 ...
SELECT Ceiling(45.01), Ceiling(45.49), Ceiling(45.99)
答案 2 :(得分:4)
对于MS SQL CEILING(您的号码)将对其进行四舍五入。 FLOOR(您的电话号码)会将其四舍五入
答案 3 :(得分:4)
Ceiling是您要使用的命令。
与Round不同,Ceiling只接受一个参数(你希望向上舍入的值),因此如果要舍入到小数位,则需要先将该数字乘以多个小数位,然后再划分。 / p>
实施例。
我想将1.2345向上舍入到2位小数。
CEILING(1.2345*100)/100 AS Cost
答案 4 :(得分:3)
如果要完善,请使用圆形功能。当你想获得比你的论点更大的最小整数时,使用天花板功能。
例如:从双向选择回合(843.4923423423,0)给你843和
选择回合(843.6923423423,0) 双重给你844
答案 5 :(得分:2)
这取决于数据库服务器,但通常称为CEIL
或CEILING
。例如,在MySQL ......
mysql> select ceil(10.5);
+------------+
| ceil(10.5) |
+------------+
| 11 |
+------------+
然后,您可以执行UPDATE PRODUCT SET price=CEIL(some_other_field);
答案 6 :(得分:1)
组合圆形和天花板以获得适当的圆形。
select ceiling(round(984.375000), 0)) => 984
同时
select round(984.375000, 0) => 984.000000
和
select ceil (984.375000) => 985