我有一个特殊的要求,我想以下面的方式围绕向上数字 -
1.14 to 1.5
1.6 to 2
0.8 to 1
7.5 to 7.5
即最接近0.5的倍数。
有没有办法实现这个目标?
最好的问候
答案 0 :(得分:8)
如果你想要四舍五入到最接近的0.5:
测试数据:
'/path_to_directory_you_want_to_save/file_name.pdf'
<强>查询强>:
CREATE TABLE your_table ( value ) AS
SELECT 1.14 FROM DUAL UNION ALL
SELECT 1.6 FROM DUAL UNION ALL
SELECT 0.8 FROM DUAL UNION ALL
SELECT 7.5 FROM DUAL;
<强>输出强>:
SELECT value,
CEIL( value * 2 ) / 2 AS rounded_value
FROM your_table
如果你想从零到最接近的0.5(负数不一样),你可以使用:
VALUE ROUNDED_VALUE
----- -------------
1.14 1.5
1.6 2
0.8 1
7.5 7.5
答案 1 :(得分:0)
这是一种方式:
select floor( val * 2 + 1) / 2