舍入到 SQL 中最接近的奇数整数

And*_*rew 4 sql rounding

我发现自己有点不太可能*需要四舍五入到 SQL 中最接近的 ODD 整数。关于如何舍入到最近的 N(2,5,10 等)here有一个很好的解决方案,但没有明确说明奇数。使用 Oracle 11gR2,如果有特定于 Oracle 的解决方案。

*需要将我的数据加入从这项研究中剥离的表格。作者使用了 2 的一致 bin 宽度……但有时它是偶数,而其他则是奇数。

dcp*_*dcp 5

你可以这样做:

DECLARE
  n FLOAT;
BEGIN  
   n := 195.8;
   SELECT 
      CASE
         WHEN mod(FLOOR(n),2) = 0 THEN FLOOR(n)+1
         ELSE FLOOR(n)
      END NUM
      INTO n
   FROM DUAL;
   dbms_output.put_line(to_char(n));
   END;
/
Run Code Online (Sandbox Code Playgroud)

有时直截了当是最好的,因为跟随你的人会明白发生了什么。