小编Dav*_*vid的帖子

Oracle SQL - 圆形 - 一半

默认情况下,Oracle ROUND 函数会将“一半向上”四舍五入:

select 3.674 my_number,
       round(3.674,2) round_on_number
from   dual
union
select 3.675 my_number,
       round(3.675,2) round_on_number
from   dual
union
select 3.676 my_number,
       round(3.676,2) round_on_number
from   dual
;

 MY_NUMBER ROUND_ON_NUMBER
---------- ---------------
     3,674            3,67
     3,675            3,68
     3,676            3,68
Run Code Online (Sandbox Code Playgroud)

我需要舍入“一半”,这基本上意味着我应该得到以下结果:

 MY_NUMBER EXPECTED_ROUND_ON_NUMBER
---------- ------------------------
     3,674                     3,67
     3,675                     3,67
     3,676                     3,68
Run Code Online (Sandbox Code Playgroud)

它应该很快,因为我需要对数百万个项目执行此操作。

我可能会检测到数字是否以“5”结尾并在这种情况下截断最后一位数字,否则四舍五入,但我觉得这会效率低下(?)

谢谢 !大卫

sql oracle rounding

4
推荐指数
1
解决办法
1689
查看次数

标签 统计

oracle ×1

rounding ×1

sql ×1