Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SQL更新中将值舍入为最接近的整数_Sql_Sql Update_Rounding - Fatal编程技术网

在SQL更新中将值舍入为最接近的整数

在SQL更新中将值舍入为最接近的整数,sql,sql-update,rounding,Sql,Sql Update,Rounding,我运行的SQL需要将值四舍五入到最接近的整数 我需要的是45.01到46。还有45.49轮对46轮。45.99四舍五入到46。我要所有东西都上升一整位数 我如何在下面的UPDATE语句中实现这一点 Update product SET price=Round 尝试天花板 SELECT Ceiling(45.01), Ceiling(45.49), Ceiling(45.99) 您可以使用该功能;这部分SQL代码: select ceiling(45.01), ceiling(45.49),

我运行的SQL需要将值四舍五入到最接近的整数

我需要的是45.01到46。还有45.49轮对46轮。45.99四舍五入到46。我要所有东西都上升一整位数

我如何在下面的UPDATE语句中实现这一点

Update product SET price=Round

尝试天花板

SELECT Ceiling(45.01), Ceiling(45.49), Ceiling(45.99)
您可以使用该功能;这部分SQL代码:

select ceiling(45.01), ceiling(45.49), ceiling(45.99);
每次都会给你46分

对于你的更新,我想说:

Update product SET price = ceiling(45.01)
顺便说一句:在MySQL上,是的别名;不确定其他数据库系统,因此您可能必须使用一个或另一个,具体取决于您使用的数据库

引用文件:

天花板(X)

返回未指定的最小整数值 小于X

举个例子:

mysql> SELECT CEILING(1.23);
        -> 2
mysql> SELECT CEILING(-1.23);
        -> -1

这取决于数据库服务器,但它通常被称为
CEIL
天花
。例如,在MySQL中

mysql> select ceil(10.5);
+------------+
| ceil(10.5) |
+------------+
|         11 | 
+------------+

然后,您可以执行
更新产品集price=CEIL(some\u other\u字段)

如果要舍入,请使用舍入功能。当您想要得到刚好大于参数的最小整数时,请使用天花板函数

例如:从dual中选择round(843.4923423,0)可获得843和

从中选择圆形(843.6923423,0) dual给你844

对于MS SQL,上限(您的号码)将进行四舍五入。
FLOOR(您的号码)将向下取整

天花板是您要使用的命令

与四舍五入不同,天花板只接受一个参数(您希望四舍五入的值),因此,如果要四舍五入到小数点,则需要先将该数字乘以小数点后再除以

例如

我想把1.2345四舍五入到小数点后2位

CEILING(1.2345*100)/100 AS Cost

将圆形和天花板结合起来,以获得适当的圆形

select ceiling(round(984.375000), 0)) => 984


欢迎来到stackoverflow!任何缩进的四个空格都被格式化为代码,您可以使用带有二进制数字的按钮在编辑器中执行此操作。希望你不介意我修改你的答案!如果你只想凑到最近的一分钱怎么办?如果应付税款是13.052美元,我需要将其四舍五入到13.053美元。我可以使用天花板(),但我必须先乘以100,然后除以100。看起来很蹩脚。
select round(984.375000, 0) => 984.000000
select ceil (984.375000) => 985