6

我需要在查询中找到下一个 10 位数字。

我尝试使用 round(n,-1) 但它四舍五入到最接近的 10 位,但我需要下一个 10 位。

请帮我。

select round(5834.6,-1) from dual

给 5830 但我需要 5840

4

4 回答 4

13
select ceil(5834.6/10)*10 from dual
于 2013-07-22T14:07:33.337 回答
1

然后添加“5”:

select round(5834.6 + 5,-1) from dual
于 2013-07-22T14:07:08.890 回答
1

通用解决方案 - 使用 MOD 查找最后 10 位,然后将结果加 10。

select (5834.6 - MOD(5834.6,10)) + 10 from dual;

如果您需要下一个第 8 名,只需将任何“10”替换为“8”即可。

于 2015-05-21T15:13:40.973 回答
-1

Select ceil(5834.6/10)*10 from dual;

于 2018-02-27T21:12:10.430 回答