银行家在甲骨文的四舍五入

时间:2016-07-08 10:46:01

标签: sql oracle bankers-rounding

Oracle中是否有任何内部功能支持Banker的舍入,我需要在选择查询中使用一半到多个奇怪的Banker四舍五入

1 个答案:

答案 0 :(得分:4)

舍入到最接近的奇数:

CASE
  WHEN MOD( ABS( value ), 2 ) = 1.5
  THEN TRUNC( value )
  ELSE ROUND( value )
END

舍入到最接近的奇数百分之一:

CASE
  WHEN MOD( ABS( value ), 0.02 ) = 0.015
  THEN TRUNC( value, 2 )
  ELSE ROUND( value, 2 )
END