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
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