最近在做统计表相关的,难免在SQL上用到除法并保留两位小数点,老总写的代码感觉很有启发,先Mark住
代码:
to_char(ROUND(( CASE WHEN ( sum_l5 ) = 0 THEN 0 ELSE ( sum_l5 / zrs ) END ) * 100,2),'fm9990.00')||'%' as l5,
to_char(ROUND(( CASE WHEN ( zrs-sum_l2-sum_l3-sum_l4-sum_l5 ) = 0 THEN 0 ELSE ( (zrs-sum_l2-sum_l3-sum_l4-sum_l5) / zrs ) END ) * 100,2),'fm9990.00')||'%' as l6
两种除法的范式