Oracle 中的银行家四舍五入

Banker's Rounding in Oracle

Oracle 中是否有任何内部函数支持银行家四舍五入,我需要在 select 查询中使用一半到奇数的银行家四舍五入

四舍五入到最接近的奇数:

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